1 Introduction

Iron and steel are well-known materials; however, their manufacturing processes are still questionable. For the last long time, many steelmakers compromised on a longer manufacture time with high temperature to melt iron and ore for producing steel. To tackle these difficulties, electric arc furnaces (EAFs) were developed to support the establishment of metal [1]. According to a report by the World Steel Association in 2019 [2, 3], the EAF market is expected to witness an increase of 6.7% with respect to the revenue from 2019 (USD 1.03 billion) to 2024 (USD 1.42 billion). Notably, the steelmaking industry significantly contributes to the economy and advanced manufacturing. However, it also consumes a considerable amount of energy owing to the use of electric power for burning chemical materials and scraps. Therefore, we aim to understand how the power consumption can be efficiently controlled to increase the production as well as maintain high quality.

Several research works have attempted to find solutions for the power consumption problem to protect the EAF environment through various methods [4,5,6,7]. In the history of ferrous and non-ferrous industries, submerged-arc furnace (SAF), which is a type of EAF, uses the heat generated from the material resistance as the current passes through the material, along with the heat from the electric arc between the electrode and material [6,7,8,9]. Thus, SAFs have been considered a key factor for developing melted metal products. This indicates a need to understand the background and advantages of SAF. Thus far, one of the most important features of SAF is a subcategory of EAF, i.e., the developments in the recycling of chemical materials, such as coke and slag, to produce specific products. In addition, SAF is recognized as the best method to generate metal substances [7].

Numerous researches have been conducted on topics such as tap temperature, current consumption, and power consumption in EAF including SAF. Power in EAF plants is highly essential and consumed in significant quantities in comparison to other industries [7]. Therefore, it is important to determine a method to deliver energy from the electricity source to ensure efficient furnace operations. Several relevant studies have been conducted to determine the solution to this problem. The prediction of Minoru et al. [10] introduced three methods to reduce electricity consumption in a ferroalloy firm. (1) It started from cutting off the use of the amount of slag per ton of alloy by providing different volumes of components. (2) The workers monitored the process of inserting the electrode inside the furnace. (3) Before subjecting the main and sub materials to the heating operation, each material must be checked to ensure that they are being used correctly because sensors cannot be installed in such environments owing to the high heat settings. However, the depth of the electrodes cannot be accurately known.

Kovacic et al. [11, 12] proposed a linear regression approach to define the strong relationship between materials and gases with focus on energy consumption. Moreover, genetic programming was employed based on the analysis of the most promising parameters. Consequently, this model estimated that the average energy usage could be minimized by approximately 1.16% if sufficient maintenance work is performed. Cano-Plata et al. [13] proposed a method to reduce the loading time of scraps to the furnace container. This process was known as tap to tap of the operating time. To achieve this objective, the authors considered dynamic programming because this method can be used to boost the processes of EAFs. Fernandez et al. [14] proposed a modeling method for predicting the tapping temperature using a fuzzy interference function. Gajic et al. [15] proposed a deep learning approach to control the presence and amount of mixed materials to predict the usage of electric energy in a steelmaking industry. The data of this study were trained and tested via an artificial neural network with five-five-one hidden layers. Shyamal and Swartz [16] introduced a method to predict the changes in electricity cost to ensure the optimal utilization of electricity, gas, and melt materials. Accordingly, they proposed an online energy control approach to monitor the fluctuations in the cost of electric energy.

It is evident from the above review that most of the studies attempted to manage the input materials in a normal manner and monitor the good operation conditions with minimum energy consumption [16,17,18,19,20,21,22,23]. Normally, there are three electrodes in a nonferrous arc furnace that operate along with the transfer of energy to support the submerged-arc container while melting the scraps. For example, a good operation practice in a furnace is to maintain the tips of the three electrodes (installed inside an SAF) at the same level. However, it is difficult to obtain any information about the inside of the electric or nonferrous arc furnace environment owing to the high temperature; thus, embedded sensors or devices cannot be installed in such environments. Some researches proposed a method to adjust the position of electrodes to ensure the delivery of energy as well as the efficiency and effectiveness of the melting process. However, this method cannot be applied to all cases in a factory. The input pattern of the electric energy, quantity of materials, sequence of electrode pods, and tap positions are the factors responsible for high-quality operations [16,17,18,19,20,21,22,23]. Specifically, the workers control the tap positions while expecting minimal energy consumption because the tap positions significantly affect the power consumed in the electric furnace. This study deals with controlling the tap positions because, to the best of our knowledge, no previous study has investigated the sequence of tap positions to provide the minimum value of power per product quantity (PPQ).

However, there are no good working patterns to determine an effective option for changing the tap positions to ensure less power and high product quantity. To determine good working patterns for the tap positions, this study utilized information regarding a long sequence of tap positions obtained by performing for almost three years.

Accordingly, we focused on finding a working pattern that could enable the workers to achieve the goal by applying a dynamic programming approach [24, 25] and big data analytics [26]. Consequently, the proposed method obtained an effective working pattern of the tap sequence with minimum PPQ and short computing time.

The remainder of this paper is organized as follows. Section 2 describes the problem of this study, which practically occurs in arc furnace working environments. Section 3 explores the analysis results of the sequences of working tap positions gathered in real time from a nonferrous furnace plant. Based on the analysis of large amount of data obtained through actual field work, in Sect. 4, we propose a dynamic programming method that provides an effective working pattern of tap positions to ensure optimal power and product quantity, and also discuss the methods for selecting a good next tap position from the current tap position considering dynamic programming. The results of our implementation are presented and analyzed in Sect. 5. The last section discusses the limitation of the proposed method and suggests future work directions.

2 Working environment and problem definition

Figure 1 illustrates an overview of the working environment and goal of the arc furnace process for producing melted metal products in the history of ferrous and non-ferrous industry [16]. The arc furnace system aims to produce large quantities of high-quality output products with less power and input materials. In other words, it should provide minimum PPQ, that is, high productivity through the operation of the system. The operation will be performed by controlling the tap positions and adjusting the material supply by the operator.

Fig. 1
figure 1

Working environment and problem definition

Generally, because the input materials, including the main and auxiliary raw materials, are supplied automatically through the input device, adjusting the tap greatly affects the PPQ. The core objective of this study is related to finding a sequence of tap positions to guarantee optimal PPQ. Therefore, it is important to know the definition of tap. A tap in an arc furnace is a conceptual logic that has no actual physical appearance. To some extent, the tap is essential for steelmakers to adjust the electrical current for stabilizing the performance of the burning material in the arc furnace container. Generally, the total number of tap positions is known in an arc furnace. Moreover, the tap number is different for different arc furnaces. In this study, 14 tap positions were used, which were provided by the furnace maker (labeled from 1 to 14). Naturally, the maximum value (in this case, 14) can vary depending on the furnace device.

Controlling the tap positions is the primitive actor that participates in generating the tap sequences. While a worker controls the tap positions, the process of burning raw materials and composition of electrical factors such as current, resistance, and voltage will be performed. The three electric pods in an arc furnace, as shown in Fig. 1, work as a delivery agent to transfer the power to the furnace container. Eventually, amount of products can be obtained in close dependence on the tap sequence control. These products are manufactured periodically. In this paper, a cycle is referred to as a working cycle, and the sequence of tap positions controlled by the operator during each working cycle is called a tap working pattern.

Three observations were made owing to the tap working pattern [7, 13, 16]. (1) A tap position can stay for a certain period and it significantly impacts the power consumption. (2) Tap sequence is vital for investigating the tap position control within a time series. (3) The amount of power and output products are crucial for achieving the optimal value of PPQ. These three observations contribute to high productivity. The tap sequence control aims to determine a tap sequence that can help in obtaining the minimum PPQ, which is defined as the total electric power required to produce the total amount of output products. Therefore, the operators performed their tasks considering the working conditions that can achieve this purpose. However, owing to different work situations such as amount of materials and the total consumed power, the operators adjust the tap positions differently. To consider all work situations in this study, we attempted to analyze the information related to the numerous tap sequence controls performed by operators thus far. Based on the analysis results, we proposed a dynamic programming method to obtain the optimal tap sequence, i.e., an optimal tap working pattern.

3 Analysis of tap working patterns

The movement of tap positions in an electric furnace has some constraints. Figure 2 demonstrates the possible movements of a tap position after 1 s. For instance, assume that the current tap is in position i. Accordingly, there are three possible directions that can be attained after 1 s. First, the current tap can move to the previous tap position, i.e., position (i−1). Second, the current tap can move to the next tap position, i.e., position (i + 1). Finally, the current tap is likely to stay still at the same position after 1 s. Thus, the tap position movement pattern is different for each working cycle.

Fig. 2
figure 2

Constraints of tap movement

The tap position sequence is presented to provide a general overview of the tap movement trend with respect to the time series data from the firm. Before further examining this sequence, some key terms must be introduced. The sequence, here, refers to the cycle of working in an electric furnace to produce a specific product. Therefore, the terms sequence, job cycle, and working cycle are interchangeable. However, the term “working cycle” will be used in this paper consistently. Usually, there are 3–5 working cycles in a day within different time slots.

Figure 3 gives information regarding the working cycles for a one-day period from 8:00 AM of the current day to 8:00 AM of the next day. From the left, the first box is used to represent a tapping period during which the melted output will be discharged. The tapping period consists of the starting and ending time. The tapping period is a terminology defined by the manufacturer to determine a period of the working cycle. Further, the gap constituted by the ending time to the next starting time minus 1 s is called a non-tapping period. The combination of both the tapping and non-tapping durations can formulate one working cycle time (WCT). As shown in Fig. 3, the first working cycle is from 8:07 until 12:59:59 (13:00 minus 1 s). It should be noted that the first working cycle is defined as sequence number one. The following sequences are categorized accordingly (two, three, four, etc.).

Fig. 3
figure 3

Working cycle for one day

The sequence provides information regarding the operating time as well as the production, such as the amount of material used, product quantity, voltage, current, impedance, electric pod index (EPI), energy consumed, and changes in the tap. The next section further discusses these parameters.

Let us now examine the tap sequence. Generally, the tap is manually set to a specific level that allows the steelmaking operator to control the electrical current that affects the power for delivering electricity to the furnace. Correspondingly, the tap sequence plays a crucial role in obtaining optimal power consumption. To make it easier to understand the tap sequence in each working cycle, the visualization of the tap sequences is drawn as shown in the Fig. 4.

Fig. 4
figure 4

Tap position sequences in one day

Figure 4 presents the tap sequences of a specific product (Product A) manufactured in one day. The first column presents information regarding the sequence number. There are four sequences in this example (from 1 to 4) for the product name specified in the second column. The third and fourth columns denote the start time and end time of the working cycle, respectively. The WCT is defined as the end time minus the start time. The fifth column represents the total electric power (TEP) consumed during one working cycle with respect to the changes and control of tap by the operator in the working area. The sixth column is the amount of total product quantity (TPQ), which is the output of the WCT. The next column is the PPQ, which is the result of the total power divided by TPQ. The final column consists of the tap sequence, which serves as the tap movement pattern in the conceptual framework.

Figure 5 reveals the big picture that demonstrates the characteristics of the tap sequence such that the visualization of the objects can be utilized to represent the main objective of the tap working patterns. For instance, the circles denote the tap number. The size of each circle is not the same because the stay time and duration of each tap position are different. Therefore, the bigger the circle, the longer the stay time of the tap position. Interestingly, the different colors also help in effectively distinguishing the tap position number. Each tap in the tap sequence number has three values (the tap position number, stay time, and electric power). Here, the stay time denotes the time spent at a tap position and electric power denotes the amount of power consumed during the stay time at the tap position. The values at each tap position can be obtained from the data gathered in real time in seconds from the programmable logic controller (PLC) in an arc furnace. The real-time large amount of data from the time series are employed to obtain the tap information every second from the starting time to the ending time within one working cycle. Moreover, the inclusion of electrical consumption and product amount in the historical data works as the source for constructing the model of this study.

Fig. 5
figure 5

Tap sequences of numerous working cycles

For analysis purposes, the tap sequence plays a crucial role in demonstrating the initial step for analyzing the tap working patterns from several methods, such as statistical analysis and advanced computer algorithms. The analysis was verified by considering a working cycle that should have at least one tap position. Thus far, the criteria for selecting the tap positions were determined by the operator manually. Moreover, the data were gathered from multiple sources at various time points during and after the operation. For instance, the tap position numbers were received from the PLC in an arc furnace, while the number of products and raw materials were recorded by the steel worker. It should be noted that a critical part of this analysis is determining how to match the data recorded by users on paper with the digital real-time data obtained from the PLC.

To analyze the tap sequence pattern, first, the nature of the tap position should be investigated with respect to the frequency of the tap position, stay time of the tap position, connection between each tap, and the amount of consumed electric energy with respect to the output of product quantity and specific time frame of operation. The tap sequence has a unique characteristic related to the movements. There can be three movements after 1 s, i.e., the next tap position (i + 1), previous tap position (i-1), and the same position i. The notation i denotes the number of tap position.

Figure 6 illustrates several tap positions in a tap position sequence within one working cycle. In the top part of the figure, the straightforward visualization draws attention to the series of tap position nodes presented by circles with various colors for different tap position numbers. This figure also provides information regarding the source of tap sequence analysis. The first row presents a list of time (in seconds), denoted by j. For instance, these times, represented in seconds, start from one, until the final time for one working cycle. The second row denotes the tap position number that is used to represent the tap number from 1 to 14; its notation is TPi,j, where TP stands for tap position, and i and j are the tap position number and the time elapsed from the starting time, respectively. The third row denotes the elemental power, EPi,j, consumed by tap position i at jth second from the starting time. The data related to the tap position, TPi,j, and elemental power, EPi,j, were retrieved in real time from an arc furnace machine. The last row denotes the product quantity, PQi,j, obtained by tap position i at jth second from the starting time. Because the product quantity cannot be obtained in real time, in this study, we calculated the product quantity using the total amount produced during the working cycle. Because the consumed electric power EPi,j for tap position i at jth second from the starting time is obtained from an arc furnace in real time, the obtained product quantity PQi,j at this time can be calculated as follows:

$$PQ_{i,j} = TPQ* EP_{i,j} /TEP$$
(1)
Fig. 6
figure 6

Tap sequence and constraints of movement

Figure 6 also highlights the characteristic of tap movement with the normal situation. If there is another movement that is different from the previous one, the new movement is considered to be abnormal. For example, assume that tap position nine moves to tap number twelve after 1 s. In such a case, a system error may occur in some part while generating the data. Together from results of the analysis relating to the working tap position sequence, we will provide a preliminary idea to support the selection of the best working patterns in the next step. It should be noted that the number of working cycles per day can be between 1 and 5. In this study, a total of 1055 working cycles were recorded within a period of 11 months for data collection. The dataset was extracted from October 2018 to August 2019.

4 Finding an effective tap working pattern using dynamic programming

4.1 Proposed dynamic programming

After analyzing the working patterns from large amount of previous real-time data, the analysis results were stored in a relational database for future use. As shown in Fig. 7, for a tap sequence in a working cycle, the movement of a tap position can be formulated in the form of a table, which is vital for accessing specific elements to track the pattern. The starting tap position number is 10 and the duration of the working cycle is 23,339 s. The red polyline represents the tap sequence. The table has multiple elements that contain useful information. The top horizontal row shows the sequence of time series in seconds, while the leftmost vertical column presents the tap position number. Each tap sequence has the starting time and ending time. To provide a universal method at a level that does not lack generality, the starting time is rewritten to the number of times in seconds in ascending order, from zero to the final time of one working cycle.

Fig. 7
figure 7

Original trend of a working pattern with a working cycle time, WCT = 23,339 s

This study considered all tap sequences for more than 1,055 working cycles within a period of 11 months for data collection. The data obtained in real time constituted large amount of data that underwent processing techniques of the data, such as outlier and missing value processing [24]. Eventually, the data information including the electric power and product quantity was stored in an element in the table, i.e., tap position i and second j. Here, i denotes the value of tap positions from 1 to 14, and j is one of total seconds from the starting time 0.

Now, let us consider the objective of the problem. We aim to determine a working pattern for the tap sequence that minimizes the following function:

$$\mathop {\min }\limits_{{wp_{{\text{i}}} , i = 1, \ldots , TWP}} PPQ_{{wp_{{\text{i}}} }} = \frac{{TEP_{{wp_{{\text{i}}} }} }}{{TPQ_{{wp_{{\text{i}}} }} }}$$
(2)

where \({wp}_{i}\) denotes a working pattern of a tap sequence to give the optimal PPQ; TWP is the total number of possible working patterns; \({TEP}_{{wp}_{i}}\) and \({TPQ}_{{wp}_{i}}\) represent the TEP and TPQ at \({wp}_{i}\), respectively; and \({PPQ}_{{wp}_{i}}\) is defined to be \(\frac{{TEP}_{{wp}_{i}}}{{TPQ}_{{wp}_{i}}}\) at \({wp}_{i}\).

Assume a WCT of 23,339 s and TapSize is the number of tap positions in an electric furnace. There are a total of TapSize*3(WCT=23,339) possible tap sequences because that the constraint of tap position movement is needed to consider going along the way. In other words, tap position i can either become (i + 1), (i-1), or i in the next step. Figure 7 shows the case when WCT = 23,339; the red polyline represents one case among the 323,339 working tap position sequences. Because it takes exponential time to perform the best working tap position sequence, it is interesting to check the possibility of selecting different paths from 1 s to the next. By doing that, the optimal methodology is needed to solve this problem.

In this study, we proposed a dynamic programming approach to find the optimal tap working pattern that can provide high efficiency in terms of energy usage and the maximum product quantities. Dynamic programming is a design method that is generally used to solve a given problem owing to a series of decisions [25, 26]. This problem, i.e., the inability of making a series of stepwise decisions that result in an optimal decision order, can be solved by implementing every possible decision order. In other words, after enumerating all decisions in each step, we can select the best among them. In dynamic programming, the optimal decision order has the characteristic that the decision at the current time should constitute the optimal decision order with respect to the state due to the previous decision, irrespective of the initial state and decision. Therefore, it can be observed that the optimal solution to a given problem via dynamic programming is always obtained by considering all cases sufficiently. The most outstanding theme of the approach is dividing the problem into many sub problems. Importantly, the outputs of the subproblems have been stored and reused next time. Thus, various optimization problems, such as the shortest path and 0–1 knapsack, can be solved via dynamic programming approach [25].

With respect to the problem of this study, we attempted to use this approach to select a universal pattern for the working tap sequence to investigate tap position movements in an EAF environment. Before implementing the dynamic programming approach, we analyzed several tap working patterns in an electric furnace, and the amount of power consumed at each tap position was stored in the analysis database (TAD).

To apply the dynamic programming approach, the following notations were defined as listed in Table 1.

Table 1 Notations

To obtain the minimum PPQ[i,j] at tap position i from the starting time to time j, first, TEP[i,j] and TPQ[i,j] must be calculated by considering three previous results and three tap positions ((i-1), i, and (i-1)) from time j-1 after 1 s, as shown in Fig. 8. The value of k in Eqs. (3) and (4) indicates either of the tap positions i, i-1, or i + 1.

Fig. 8
figure 8

Decision making to select the best PPQ[i,j] at tap position i from the starting time to time j

Before obtaining the best PPQ[i,j] = TEP[i,j]/ TPQ[i,j], two values, i.e., TEP[i,j] and TPQ[i,j] must be calculated by the following recursive equations (Eqs. (3) and (4) from the TEP and TPQ obtained from previous stages, respectively). Basically, when an initial tap position is located at initial_tap, TEQ[initial_tap][0] = 0, TPQ[initial_tap][0] = 0, PPQ[initial_tap][0] = 0, and STP[initial_tap][0] = initial_tap will be assinged. In other cases, TEQ[i][j] = Infinity_Value, TPQ[i][j] = Small_value, PPQ[i][j] = TEP[i][j]/TPQ[i][j], and STP[i][j] = NaN will be assigned.

$$TEP\left[ {i,j} \right] = \left\{ {\begin{array}{*{20}c} {Infinity \; Value} & {{\text{otherwise}}} \\ {TEP\left[ {k, j - 1} \right] + BC\_EP\left[ {k, j - 1} \right]} & {{\text{if}}\;\;j > 0 and k = i - 1, i, i + 1} \\ \end{array} } \right.$$
(3)
$$TPQ\left[ {i,j} \right] = \left\{ {\begin{array}{*{20}c} {epsilon} & {{\text{otherwise}}} \\ {TPQ\left[ {i + k, j - 1} \right] + BC\_PQ\left[ {i + k, j - 1} \right]} & {{\text{if}}\;\;j > 0 and k = i - 1, i, i + 1} \\ \end{array} } \right.$$
(4)

The pseudocode to solve our given problem by applying dynamic programming approach is provided, as shown in the Finding_Optimal_Tap_Working_Pattern algorithm. The algorithm is based on the bottom-up approach to investigate the appropriate candidates that align with the objective of determining the minimum TEP and maximum product quantity to provide better PPQ results. The input parameters include the initial tap position (initial_tap), WCT, and total tap position number (TapSize), provided by an arc furnace. Additionally, a database (TAD) that stored the analysis results of several working patterns was provided as the input. These input parameters are crucial for implementing the algorithm. The output of the algorithm includes the TEP, TPQ, and PPQ from the start time to every second in the given WCT; finally, the best PPQ and best tap sequence (STP) during the WCT can be obtained.

Figure 8 demonstrates the steps for producing the outputs from the input parameters. The related data structures are assigned an initial value through steps 1–8 for every tap position (TapSize) during a WCT. Next, we focus on obtaining the outputs at tap position i and time j (steps 9–10). Steps 11–25 of the algorithm determine the best from the three possible candidates at tap position i and time j; these three candidates are processed in step 11 (for k =  − 1 to 1). First, the best product quantity and best elemental power were selected from the numerous candidates at tap position (i−1) with time (j−1) at step 12 and step 13, respectively. Subsequently, steps 14–20 were used to check the minimum, localMinPPQ, from the three PPQs to get the minimum index, localMinIndex. The localMinIndex will be used to represent the final best product quantity and best elemental power to add with the TPQ at tap position (i-1) with time (j−1), as well as TEP at tap position (i-1) with time (j-1), respectively. The work will be done by considering the last two cases. The first case (k = 0 in step 11) is doing the same for tap position i and time j-1, the second case (k = 1 in step 11) for tap position (i + 1) and time (j−1). After determining the best candidates (steps 14–20), steps 22 and 23 add the results with the previous TPQ and TEP, respectively. Then, the optimal PPQ at step 24 denotes the result of the TEP divided by TPQ. Further, the selection tap position is stored (step 25).

This operation is repeated for all remaining tap positions and times. The details of the algorithm are described in Finding_Optimal_Tap_Working_Pattern.

figure a

4.2 Selecting best candidate in proposed dynamic programming

The Finding_Optimal_Tap_Working_Pattern algorithm in Sect. 4.1 highlights an important point related to the selection of the best PPQ by finding the best product quantity (BC_PQ) and best elemental power (BC_EP) from the several candidates stored in the tap working pattern analysis database, i.e., TAD.

Now, consider BC_PQ[i][j] and BC_EP[i][j] at tap position i and time j. To select BC_PQ[i][j] and BC_EP[i][j], we must explore the elemental powers and product quantities stored at the tap position and time. The values can be obtained by analyzing the experimental candidates, which were obtained through real works until now. Assume that a tap working pattern WP = (TP0, TP1, …, TPwct) during a WCT is given, where TPj is a tap position at jth second. As mentioned in Sect. 4.1, note that the TPQ produced during the WCT is provided manually; however, the tap positions and elemental powers are gathered in real time every second. Let \(ep\left[i\right][j]\) and \(pq\left[i][j\right]\) be the elemental power and product quantity at tap position i and time \(j\), respectively. Then, \(pq\left[i][j\right]\) is calculated according to Eq. (5). The analysis results of the tap working patterns are stored in an analysis table, TAD.

$$pq\left[ {i][j} \right] = \frac{{ep\left[ {i][j} \right]*TPQ}}{TEP}$$
(5)

As illustrated, many tap working patterns are used to ensure better results in selecting BC_EP and BC_PQ. When the tap working patterns are considered, several tap analysis results at tap position i and time \(j\) may be stored in the TAD. Figure 9 illustrates the matrix containing the elemental powers and product quantities at tap position i and time \(j\), highlighted in the interception of x-axis \(i\) and y-axis \(j\) in the matrix. Every candidate for BC_EP and BC_PQ may be stored in the analysis table of large amount of data. Table 2 presents information regarding the analysis at tap position 11 and 100 s on 19 elemental powers, 19 product quantities, and 19 PPQs. It is important to select the best ones from TAD[i][j].

Fig. 9
figure 9

Decision making to select BC_EP and BC_PQ

Table 2 Sample data stored in TAD for tap position 11 and 100 s

Next, we examine Eq. (2). Our objective is to get the minimum PPQ in each step by applying the dynamic programming approach. Accordingly, we first attempted to use the most basic statistical methods [27], i.e., min, max, average, and deviation. All relevant factors were considered as the input parameters to find the best path of tap position movement. This research aims to realize the least power usage along with the maximum output values. Thus, the calculation of the minimum of elemental power, minimum deviation of tap position, and maximum product quantity were considered.

BC_MinMax(i,j), which is the first statistical method, determines the best candidates of elemental power and product quantity using min and max approaches. First, the input parameters include the tap position number, number of seconds, tap analysis data, and number of elements. The algorithm executes a query to filter the observation that contains the minimum elemental power and maximum product quantity, and is eventually subjected to the least value of PPQ. Thus, the minimum elemental power and maximum product quantity in TAD[i,j] are extracted successfully.

figure b

The second statistical method is BC_Average(i,j), which finds the best candidates of elemental power and product quantity by selecting the average approach. Primarily, the input parameters include the tap position number, number of seconds, tap analysis data, and number of elements. Second, the algorithm runs an average function to get the average elemental power and average product quantity. Next, the selected record must fulfill two criteria; first, the elemental power value should be less than or equal to the average elemental power; the second criterion focuses on the product quantity value that is greater than or equal to the average product quantity. Most importantly, the record must guarantee the minimum PPQ.

figure c

The third statistical method is BC_Deviation(i,j), which employs the deviation approach to find the best candidates for the elemental power and product quantity. First, the tap position number, number of seconds, tap analysis data, and number of elements serve as the input parameters. Further, ppq, which is recorded by the steelworkers, is used as a key indicator to find the smallest deviation. Therefore, the algorithm calculates ppq in TAD[i,j]. Then, daily_ppq subtracts ppq to get the deviation value. The record with the smallest deviation and positive value is selected.

figure d

From now, let us analyze the computation complexity of our proposed Finding_Optimal_Tap_Working_Pattern algorithm. Since Step (1) through Step (6) are repeated two for loops, the computational complexity of the steps is O(WCT*TapSize). From Step (9) to Step (27), three for loops are repeated, but because k (= -1.,0,1) is repeated three times, so that it is repeatedly executed as much as 3*WCT*TapSize. In each loop, BC_PQ[i,j] and BC_EQ[i,j] must be selected. The selection time complexity is dependent on the number of items stored in TAD[i,j]. Assuming that the number is n, the BC_PQ[i,j] and BC_EQ[i,j] can be obtained in O(n) time even if any of the three proposed methods is used. So the total computation complexity of the algorithm is O(WCT*TapSize*N), where N is the maximum number of items in TAD[,]’s.

5 Experimental results and performance evaluation

5.1 System environment

This paper describes the methods and techniques used in this study to select an appropriate working pattern that is subjected to the optimal value of PPQ. We used a computer with the following specifications for the experiments: CPU Intel® Core™ i7-6700, 3.40 GHz, RAM 32 GB, NVIDIA GeForce 9800 GT graphics card, Windows 10 operating system, and Jupyter Notebook, an integrated development environment for Python and IntelliJ for Java [28,29,30]. Moreover, MariaDB was used to store the enormous amount of data.

5.2 Data preparation

The data contained in the dataset were generated by a steelmaking firm. A total of 24.59 million records, from October 2018 to August 2019, were utilized. Interestingly, the data were obtained from two types of sources. The first type of data was extracted from daily reports available in the form of hard copies. It consisted information related to the product name (PN), production date, quantity of output, mixed material name, quantity of raw materials, tapping periods, and amount of power consumption in one day. However, the data recorded by humans may have inconsistency issues; for instance, the number of products, amount of power, and production time. This is responsible for the numerous steps involved in this process. Therefore, the data must be preprocessed and verified with the data operators. The second type of data was obtained from a PLC. The PLC transfers the data from the machines in a factory to the database at the end of the day, approximately midnight. All records are arranged according to their timestamps every second.

Tables 3 and 4 present 21 datasets from the 1,397 working cycles with respect to specific products. The data were collected from October 20, 2018 to August 31, 2019. As evident in the tables, there are 3–5 working cycles in a day, and each WCT is calculated by subtracting the working start time (WST) from the working end time (WET). Generally, the minimum, maximum, and average of the working cycle duration are 6839, 65,990, and 23,238 s, respectively. During each working duration with the sequence number (SN), the TEP is consumed to produce the TPQ for a specific PN such that the PPQ is obtained by dividing TEP by TPQ. These operations are performed according to the STP during the WCT, which is controlled by an employee. The STP is called a working pattern. In our experimental data, we used a tap controller that can locate a tap at one of the TapSize = 14 positions. According to the tap control by the operator, the electric furnace provides the tap number and the element power consumed at the tap number at each second in a WCT. With this information, we provided three values [a, b, c] for each tap in a working pattern, where a denotes the tap number, b is the time remaining on the tap, and c is the PPQ on the tap using Eq. (6). Table 4 presents the detailed tap sequence information of the 21 working patterns summarized in Table 3.

Table 3 Information regarding the working patterns
Table 4 Tap position sequences per working cycle

5.3 Proposed working pattern results

With respect to the analysis results of large amount of data illustrated in the previous section, the Finding_Optimal_Tap_Working_Pattern algorithm was applied to find an effective working pattern while reflecting its profound effect on the PPQ. Before applying the proposed algorithm, the working patterns with the data, as demonstrated in Tables 3 and 4, were preprocessed according to each PN. The details of the preprocessing are described in Sect. 3. Based on the preprocessing results, the proposed dynamic programming algorithm was implemented with input parameters such as the PN, initial tap position (initial_tap), WCT, and one of the three proposed methods for selecting good BCs in Sect. 4.2. Consequently, the proposed algorithm yielded TPQ, TEP, and PPQ as the outputs in Table 5, and an effective tap sequence in Table 6. Additionally, the execution time (ET) of this algorithm is presented.

Table 5 Input and results of the proposed algorithm
Table 6 Tap sequence results obtained by the proposed algorithm

For example, consider the data in the first and seventh rows of Tables 5 and 6. In the first row, the input data include Product A, 11 initial tap position, 4,000 s as a WCT, and BC_Deviation(). The output results are 9365.10 TPQ and 3745.12 TEP; thus, the PPQ is 2.50. Additionally, the ET is 148 s. The effective tap sequence obtained from the algorithm with the row data in Table 5 is presented in the first row of Table 6. Let us interpret the tap sequence output in detail. Let us begin at tap position 11, stay at the same tap position for 5 s, and then move to tap position 12. After staying at tap position 12 for 1 s, move to tap position 11 again. It can be observed that after staying at tap position 11 for 61 s, it moves to tap position 12 again. The movement of this tap will repeat for 4,000 s, as shown in the first row in Table 6. Here, the data [5, 11] in the tap sequence implies that the tap stays at tap position 11 for 5 s.

Similarly, when interpreting the contents of the seventh row of Table 5, Product C, initial tap position 11, WCT of 8,000 s, and BC_MinMax() are given as inputs. The output results are 3500.59 TPQ and 1263.89 TEP; thus the PPQ is 2.77. Additionally, the ET is 546 s. Initially, the tap stays at tap position 11 for 268 s, and then moves to tap position 10, where it stays for 10 s. The tap position movements continue until the final tap position 12 is achieved. The final tap stays for 1,086 s.

To further understand this, we explain the meaning of the effective tap sequence obtained through the proposed algorithm. Figure 10 shows two different tap working patterns between the original pattern and the pattern of the BC_MinMax() algorithm. The average PPQ value for the original tap working pattern is 6.57, while the PPQ value for the algorithm is 3.28. Moreover, the ET is 1,483 s.

Fig. 10
figure 10

Comparison of tap working patterns between the original pattern and BC_MinMax()'s pattern

Figure 11 reveals two different tap working patterns between the original pattern and the pattern of the BC_Average() algorithm. The average PPQ value for the original tap working pattern is 6.57, while the PPQ value for the algorithm is 3.31. Moreover, the ET is 1,842 s.

Fig. 11
figure 11

Comparison of tap working patterns between the original pattern and BC_Average()'s pattern

Figure 12 highlights two different tap working patterns between the original pattern and the pattern of the BC_Deviation() algorithm. The average PPQ value for the original tap working pattern is 6.57, while the PPQ value for the algorithm is 3.27. Moreover, the ET is 1,859 s.

Fig. 12
figure 12

Comparison of tap working patterns between the original pattern and BC_Deviation()'s pattern

The PPQ is obtained by applying the proposed dynamic programming technique to four products with different WCT and selection methods, as shown in Fig. 13. Similar to the original results, it was found that different products have different levels of PPQs, i.e., the lowest PPQ was obtained for product A, while the highest PPQ was obtained for product C. The PPQ results using the selection methods BC_MinMax() and BC_Average() exhibited similar patterns, whereas the BC_Deviation() method demonstrated different patterns for the PPQ.

Fig. 13
figure 13

Comparison of PPQs according to the products and selection methods

5.4 Performance evaluation

To evaluate and measure the model, the mean absolute error (MAE) and root mean square error (RMSE) were used as the metric indicators to validate the model performance. One of the most commonly used performance metrics is the MAE, which enables the computation of errors. The continuous variables were measured to determine the error in the prediction of the model. It is well-known that the prediction error denotes the actual value minus the predicted value.

$$MAE = \frac{{\mathop \sum \nolimits_{i = 1}^{n} \left| {y_{{\text{i}}} - \hat{y}_{{\text{i}}} } \right|}}{n}$$
(6)

where \({y}_{i}\) is the real data, \({\widehat{y}}_{i}\) is the predicted data, and n denotes the number of observations in the model. The result of subtraction should be an absolute value. In this case, the smaller the error, the better the model.

Another performance measure is the RMSE; it denotes the performance of the model based on the result of prediction error.

$$RMSE = \sqrt {\frac{{\mathop \sum \nolimits_{i = 1}^{n} \left( {y_{i} - \hat{y}_{i} } \right)^{2} }}{n}}$$
(7)

It should be noted that the MAE is different from the RMSE; the latter takes the square of residuals instead of similar weight. Consequently, the standard deviation of prediction with respect to errors has mutual correlation with the changes in the occurrence of distribution errors.

To compare the performances of these selection methods, a base case was created according to the effective result of PPQ with the same significant values, such as duration of sequence, initial tap position, and PN. Product A had a base case value of 4.82. A summary of the RMSE and MAE is presented in Table 7.

Table 7 Summary of performance metrics

Finally, we present the ET of the proposed algorithm. As shown in Fig. 14, the ET for all cases increased linearly based on the WCT. These results indicate the theoretical time complexity of the dynamic programming algorithm based on the tap position movement constraint. (The tap only moves to the immediately adjacent position.) In other words, the results are attributable to the tap position at each second during the WCT, determined from the three adjacent tap positions.

Fig. 14
figure 14

Comparison of ETs according to the products and selection methods

6 Conclusions

In conclusion, this study contributes to the reduction in elemental power in an EAF environment by analyzing the working patterns. It should be noted that the power consumption burden can be solved by considering the tap position controls. In addition, this study presented evidence of the benefit of implementing a dynamic programming approach to determine the optimal value of PPQ with respect to the input parameters of tap position number and duration of the previous large amount of data, which stores the analysis result of tap position sequence and elemental power every second. However, the research has some limitations in terms of data correctness and data validation regarding the manual daily working pattern information. In future work, we plan to investigate the weighting factor and EPI to validate the use of power in EAFs. Furthermore, machine learning [31] and deep learning [32, 33] techniques will be implemented to obtain effective working tap positions in real time.