Research on Melting and Pouring Charge Plan for Single Piece and Small Batch Sand Casting Enterprise

At present, a significant proportion of domestic foundry enterprises are engaged in single-piece, small-batch sand casting production. The scheduling of melting and pouring charges, commonly referred to as furnace charge planning, in such enterprises primarily relies on manual experience. This approach often leads to suboptimal charge plans, low scheduling efficiency, and underutilization of furnace capacity, all of which constrain enterprise development. Therefore, for single-piece, small-batch sand casting enterprises, establishing a mathematical model for the melting and pouring charge plan, designing an effective solution strategy, and developing and applying a charge plan system based on this model and strategy hold significant practical importance. This research addresses the core problem of efficiently grouping various sand casting parts into optimal furnace loads.

Current research often abstracts the charge plan problem into batch splitting and scheduling problems. Scholars have applied various meta-heuristic algorithms like improved differential evolution and co-evolutionary artificial bee colony algorithm to similar problems in steelmaking-continuous casting scheduling. Others have modeled production scheduling in small and medium non-automated sand foundries using binary integer programming. For the specific context of a foundry’s melting and pouring scheduling, different meta-heuristic algorithms have been compared. Prior work by our team has successfully applied improved swarm intelligence algorithms to heat treatment scheduling and melting planning in foundries. Building on this foundation, this paper, combining enterprise management requirements and production characteristics, proposes a melting and pouring charge plan model for single-piece, small-batch sand casting enterprises. A solution strategy based on an Improved Binary Bat Algorithm (IBBA) is designed. An intelligent melting and pouring charge plan system was developed and applied in a single-piece, small-batch sand casting enterprise.

1. Charge Plan Priority Model for Sand Casting Parts

The due date, customer credit rating, and production load are the three primary indicators considered by enterprises when formulating charge plans, representing the production priority of sand casting parts.

1.1 Due Date of Sand Casting Parts

For make-to-order, single-piece, small-batch sand foundries, the due date of parts is a critical factor. This paper quantifies the due date by normalizing it to a value between 0 and 1 using Equation (1):

$$P_{id} = \frac{\max(d) – d_i}{\max(d) – \min(d)} \tag{1}$$

where \( i \) is the part index, \( d_i \) is the number of days until the due date for part \( i \), \( \max(d) \) is the maximum value among all parts awaiting scheduling, and \( \min(d) \) is the minimum value among them. \( P_{id} \) is the normalized due date priority value for part \( i \). A part closer to its due date has a higher \( P_{id} \) value, implying a higher scheduling priority.

1.2 Customer Credit Rating

Different customers hold varying levels of importance for a foundry. Enterprises typically assess the credit rating of existing customers based on historical cooperation. New customers are assigned a default rating. However, credit ratings are often described qualitatively (e.g., “A”, “B”, “C”). To quantify this, fuzzy evaluation theory is employed, using the continuous interval [0,1] as the domain. This allows customer credit to be evaluated on the same scale as the due date. Membership functions for credit ratings “A” through “E” are defined in consultation with enterprise experts. The membership function for rating “A” is:

$$\mu_{“A”}(x) = \begin{cases} 5x – 4, & 0.8 < x \le 1 \\ 0, & 0 < x \le 0.8 \end{cases} \tag{2}$$

Similarly, functions for B, C, D, and E can be defined. To obtain a precise quantitative value for use in the model, the centroid method is used for defuzzification. The resulting precise values \( P_{ix} \) for customer credit ratings are shown in Table 1. A higher \( P_{ix} \) value indicates a customer whose sand casting parts should be prioritized.

Table 1: Customer Credit Rating and Corresponding Precise Value
Credit Rating Fuzzy Interval Precise Value (\(P_{ix}\))
A [0.8, 1] 14/15
B [0.6, 0.8] 11/15
C [0.4, 0.6] 8/15
D [0.2, 0.4] 1/3
E [0, 0.2] 2/15

1.3 Production Load of Sand Casting Parts

Due to constraints like mold capacity, if a large number of identical sand casting parts await scheduling, the required molding days increase. For simplicity, a production load \( t_i \) is defined for part \( i \) as shown in Equation (3):

$$t_i = \text{ceil}\left(\frac{U_i}{b_i}\right) \tag{3}$$

where \( U_i \) is the current quantity of part \( i \) awaiting scheduling, \( b_i \) is the maximum daily output of part \( i \) per mold, and \( \text{ceil}() \) is the ceiling function. \( t_i \) represents the total molding days required for part \( i \), considering only mold constraints. This load is normalized using Equation (4):

$$P_{it} = \frac{t_i – \min(t)}{\max(t) – \min(t)} \tag{4}$$

where \( \max(t) \) and \( \min(t) \) are the maximum and minimum production loads among all parts. A higher \( P_{it} \) value indicates a higher scheduling priority, all else being equal.

1.4 Comprehensive Priority Model

The priority vector for sand casting part \( i \) is \( \mathbf{P_i} = (P_{id}, P_{ix}, P_{it}) \). To obtain a single scalar priority value \( P_i \), a weighted sum method is used, as shown in Equation (5):

$$P_i = (P_{id} \quad P_{ix} \quad P_{it}) \begin{pmatrix} w_1 \\ w_2 \\ w_3 \end{pmatrix} = P_{id}w_1 + P_{ix}w_2 + P_{it}w_3 \tag{5}$$

where \( w_1, w_2, \) and \( w_3 \) are the weight coefficients for due date, customer credit, and production load priorities, respectively, with \( w_1 + w_2 + w_3 = 1 \). These weights are assigned based on expert evaluation and can be dynamically adjusted according to enterprise needs. Consequently, sand casting parts with nearer due dates, higher customer credit ratings, and larger production loads receive higher overall priority values \( P_i \).

2. Mathematical Model for the Melting and Pouring Charge Plan

Addressing the charge plan problem for single-piece, small-batch sand foundries, the model characterizes the objective function and constraints as shown in Equation (6):

$$\max \sum_{l=1}^{L} \sum_{i=1}^{N} P_i \cdot m_i \cdot x_{il} \tag{6}$$

where \( P_i \) is the comprehensive priority value for sand casting part \( i \), \( m_i \) is the rough weight (kg) of part \( i \), and \( x_{il} \) is the number of part \( i \) scheduled in charge \( l \). The objective is to maximize the total weighted melting weight per day, where the weight is the part’s priority. This combines two optimization goals: selecting high-priority sand casting parts and maximizing furnace capacity utilization. The model is subject to the following constraints (7) to (12):

Furnance Capacity and Material Consistency:

$$\sum_{i \in S(k)} m_i x_{il} \le cap \cdot Y_{kl}, \quad k = 1 \ldots K, \quad l = 1 \ldots L \tag{7}$$

This ensures the total rough weight of sand casting parts in charge \( l \) with material \( k \) does not exceed the furnace capacity \( cap \), and all parts in a charge share the same material type \( k \). \( S(k) \) is the set of parts belonging to material family \( k \). \( Y_{kl} \) is a binary variable equal to 1 if charge \( l \) uses material \( k \), and 0 otherwise.

Single Material per Charge:

$$\sum_{k=1}^{K} Y_{kl} = 1, \quad l = 1 \ldots L \tag{8}$$

This ensures each charge is assigned exactly one material type.

Sand Box Quantity Constraint:

$$\sum_{l=1}^{L} \sum_{w=1}^{N} a_{iw} x_{il} \le C_w, \quad w = 1 \ldots W \tag{9}$$

where \( a_{iw} \) indicates if part \( i \) uses sand box type \( w \), and \( C_w \) is the available quantity of sand box type \( w \). This ensures the total planned sand casting parts do not exceed available sand boxes.

Mold Daily Output Constraint:

$$\sum_{l=1}^{L} x_{il} \le b_i, \quad i = 1 \ldots N \tag{10}$$

This ensures the total scheduled quantity of sand casting part \( i \) does not exceed its daily molding capacity \( b_i \).

Total Pending Quantity Constraint:

$$\sum_{l=1}^{L} x_{il} \le U_i, \quad i = 1 \ldots N \tag{11}$$

This ensures the scheduled quantity of sand casting part \( i \) does not exceed its total pending quantity \( U_i \).

Binary Variable Declaration:

$$Y_{kl} \in \{0,1\}, \quad l=1 \ldots L, \quad k=1 \ldots K \tag{12}$$

This model is an integer programming model. For a planning horizon of one workday with a fixed number of charges \( L \), it aims to determine the material type and the specific sand casting parts for each charge, without scheduling detailed timing points like furnace heating times.

3. Charge Plan Solution Based on Improved Binary Bat Algorithm (IBBA)

The Bat Algorithm (BA) is a swarm intelligence optimization algorithm known for its simplicity and efficiency in continuous spaces. The Binary Bat Algorithm (BBA) adapts BA for binary search spaces. This paper proposes an Improved Binary Bat Algorithm (IBBA) for solving the charge plan problem, illustrated conceptually in the following diagram. The core of the solution strategy involves applying IBBA to each material family (set of sand casting parts that can be melted together) to find the optimal subset of parts for a single charge that maximizes the objective function under constraints. This is performed greedily: after finding the best charge for a material, those scheduled sand casting parts are removed, and the process repeats for the next charge until all charges \( L \) are planned or no feasible parts remain.

3.1 Encoding and Population Initialization

For a material family containing \( N \) sand casting parts, each solution (individual) in the IBBA population is represented by an \( N \)-bit binary string \( \mathbf{x_j} \). A bit value of 1 indicates the corresponding sand casting part is selected for the charge, and 0 indicates it is not. Each individual \( \mathbf{x_j} \) is generated from a probability vector \( \mathbf{P_j} = (p_1, p_2, …, p_N) \), where \( p_i \) is the probability that \( x_{ji} = 1 \). To uniformly initialize the search space, all probability vectors are initially set to \( (0.5, …, 0.5) \).

3.2 Global and Local Search Based on State Vector

IBBA introduces a state vector to guide search in binary space. The state vector for iteration \( t \) is defined as \( \mathbf{L}(t) = \{\mathbf{l_1}(t), \mathbf{l_2}(t), … \mathbf{l_{NP}}(t)\} \), where \( \mathbf{l_j}(t) = \{l_{j1}(t), l_{j2}(t), … l_{jN}(t)\} \) with \( 0 \le l_{ji} \le 1 \). Here, \( l_{ji}(t) \) represents the probability that bit \( i \) of individual \( j \) is 0. The population \( \mathbf{X}(t) \) is updated from the state vector using a random draw:
$$x_{ji}(t) = \begin{cases} 1, & \text{if } rand > l_{ji}(t) \\ 0, & \text{otherwise} \end{cases} \tag{13}$$
The state vector is updated to guide the population towards better solutions. For global search, a guiding vector \( \mathbf{l}_{global}(t) \) is constructed from the best solution \( \mathbf{x^*}(t) \):
$$\mathbf{l}_{global}(t) = \beta_1 \mathbf{x^*}(t) + \beta_2 (1 – \mathbf{x^*}(t)) \tag{14}$$
where \( \beta_1 + \beta_2 = 1 \), and \( 0 < \beta_1, \beta_2 < 1 \). The state vector for each bat \( j \) is then updated based on its frequency \( f_j \), which controls the reliance on the global best vs. its own state:
$$\mathbf{l_j}(t+1) = (1 – f_j)\mathbf{l_j}(t) + f_j \mathbf{l}_{global}(t) \tag{15}$$
For local search around a selected individual, a subset of \( c \) bits is chosen, where \( c = \min(N, \text{round}(N \times \bar{A} \times rand)) \), and \( \bar{A} \) is the average loudness. The corresponding state vector entries for these bits are perturbed: \( s_{ji} = l_{ji} + rand \times \bar{A} \). A new candidate bit value is then generated using a rule similar to (13) but with \( s_{ji} \).

3.3 Improved Solution Acceptance

The original BA accepts a new solution only if it improves the global best and a random number is less than the bat’s loudness. To prevent premature convergence, IBBA adopts a simpler acceptance rule: if a newly generated solution (for a bat) is better than its previous solution, it is accepted unconditionally. This speeds up population evolution and reduces the risk of getting trapped in local optima.

3.4 Hybridization with Cuckoo Search (CS)

IBBA is hybridized with a strategy from Cuckoo Search (CS) to enhance convergence. A proportion \( p_a \) of the worst solutions in the population are discarded and replaced. Unlike CS’s random walk, the new solutions in IBBA are generated by performing a logical OR operation between the discarded solution and the global best solution \( \mathbf{x^*} \). This OR operation, shown in Table 2, is designed to incorporate more potentially good sand casting parts from the best solution into the new candidate, aiming for a higher-weight, higher-priority charge.

Table 2: OR Operation for Solution Regeneration
Bit in Current Solution Bit in Global Best Result (OR)
1 1 1
1 0 1
0 1 1
0 0 0

4. Development and Application of the Charge Plan System

4.1 System Architecture and Design

The Melting and Pouring Charge Plan System adopts a Client/Server (C/S) architecture. The system utilizes the enterprise’s existing server and shares a database with the foundry’s ERP system to ensure data accuracy, real-time capability, and interoperability. The system is integrated with the ERP via its secondary development interface, ensuring ease of use for enterprise personnel. The core functional design revolves around two main modules: the Material Family Configuration Module and the Intelligent Charge Planning Module. The former allows the definition of which sand casting parts can be melted together, while the latter is the main application for generating optimal charge plans.

4.2 System Application Case Study

The system was applied in HX Company, a typical single-piece, small-batch sand foundry. The company’s manual planning process was inefficient, leading to suboptimal furnace utilization. The new system was integrated to generate intelligent charge plan recommendations.

Charge Plan Optimization: The system was tasked with planning four charges for a specific day. The available tasks involved 44 material families with pending quantities of sand casting parts ranging from 20 to 500 pieces. Using the algorithm with a furnace capacity of 4000 kg, the system generated the four charges detailed in Table 3. The system selected sand casting parts from material families CZJ033, CZJ001, CZJ034, and CZJ028, achieving total rough weights very close to the 4000 kg capacity. This demonstrates the system’s ability to optimize both for priority (selecting important sand casting parts) and furnace utilization, yielding a better plan than manual methods.

Table 3: Results of Four Planned Charges
Charge Number Material Family ID Total Rough Weight (kg) Number of Part Types Calculation Time (s)
1 CZJ033 3,990 8 2.20
2 CZJ001 3,870 5 2.21
3 CZJ034 3,940 8 2.19
4 CZJ028 3,998 13 2.19

Scheduling Efficiency: Manual planning for a single charge typically took 6-8 minutes. As shown in Table 3, the system generates each charge plan in approximately 2.2 seconds, representing a dramatic increase in scheduling efficiency for these sand casting parts.

Furnace Capacity Utilization: The impact on furnace utilization was measured by comparing the average pouring weight per charge before and after system implementation. Data from February and March 2019 (after implementation) were compared both year-on-year (YoY) with 2018 and month-on-month (MoM) with the preceding months. The results, shown in Table 4, indicate a clear increase in average charge weight after system implementation, representing an average furnace capacity utilization improvement of approximately 5%. This directly translates to more efficient production of sand casting parts.

Table 4: Average Pouring Weight Per Charge Before and After System Application
Period (Before) Avg. Pouring Weight (kg) Period (After) Avg. Pouring Weight (kg)
Feb 2018 3,491.6 Feb 2019 3,657.1
Mar 2018 3,512.4 Mar 2019 3,678.8
Dec 2018 3,506.8
Jan 2019 3,486.3

5. Summary

This research focused on the melting and pouring charge plan problem for single-piece, small-batch sand casting enterprises. A comprehensive charge plan model was constructed, incorporating a multi-criteria priority scheme for sand casting parts. An Improved Binary Bat Algorithm (IBBA) was proposed and served as the core of a greedy rule-based solution strategy. Finally, an intelligent charge plan system was developed and successfully applied in a real-world foundry. The application results demonstrate that, compared to manual planning, the system can generate superior charge plans for sand casting parts, significantly reduce scheduling time, and improve furnace capacity utilization. This contributes to enhanced production efficiency and operational management in the single-piece, small-batch sand casting industry.

Scroll to Top