A Low-Cost Add-On Sensor and Algorithm to Help Small-and Medium-Sized Enterprises Monitor Machinery and Schedule Processes

Since the concept of Industry 4.0 emerged, an increasing number of major manufacturers have incorporated relevant technologies to monitor machinery and schedule processes so as to increase yield and optimize production. However, most machinery monitoring technologies are far too expensive for smalland medium-sized enterprises. Furthermore, the production processes at smalland medium-sized enterprises are simpler and can thus be optimized without excessively complex scheduling systems. This study therefore proposed the use of cheaper add-on sensors for monitoring machinery and integrated them with an algorithm that can more swiftly produce results that meet multiple objectives. The proposed algorithm is meant to extend the capabilities of smalland medium-sized enterprises in monitoring machinery and scheduling processes, thereby enabling them to contend on an equal footing with larger competitors. Finally, we performed an experiment at an actual spring enterprise to demonstrate the validity of the proposed algorithm.


Introduction
Since the term Industry 4.0 was coined, an increasing number of major manufacturers have incorporated relevant technologies, such as using well-designed and embedded sensors to collect data from machinery or the test results of various products.Then, a server receives the signal from multiple sensors, and unifies the format of these signals, for monitoring, scheduling, and analysis [1,2].This makes it possible for enterprises to monitor the operational status of machinery on an ongoing basis, and in so doing enhance production efficiency, reduce maintenance costs, and optimize quality.Industry 4.0 protocols can indeed help enterprises to improve performance and reduce costs; however, the capital outlay required for the adoption of these technologies (e.g., sensors, cloud computing, big data analysis) can be prohibitively high.Furthermore, the base infrastructure differs greatly from that of conventional enterprises, thereby necessitating considerable upgrades prior to implementation.Most large-scale enterprises are able to make these changes without difficulty; however, most smalland medium-sized enterprises (SMEs) are unable to absorb the costs.
Many researchers have sought to lower the adoption threshold for Industry 4.0.Dassisti et al. [3] introduced a core-meta model to help SMEs implement Industry 4.0 in their enterprises.Uriarte et al. [4] used the technique of mechanistic modeling to predict the micromilling cutting forces.Rivelo et al. [5] used the internal signals of machinery to do the tool wear detection.Plapper and Weck [6] proposed a new approach on using digital drive signals for monitoring the conditions of machine tool.Barrio et al. [7] discussed how to use the concept of Industry 4.0 to do modeling and process monitoring on machines.Finally, Birkel et al. [8] developed a risk framework for enterprises considering switching over to Industry 4.0.
It should be noted that most of the methods used to monitor machinery are impractical for SMEs, due to budgetary restrictions on the purchase of updated machinery equipped with the latest sensors.Moreover, it is doubtful that they will purchase large numbers of the same machines at the same time.To save money, the machines that they buy may even come from different manufacturers and countries.Consequently, these are reasons why mutual communication among machines is difficult for SMEs.Even if their machines had sensors that could send signals to the server, the formats of these signals vary and are almost impossible to analyze.In other words, it is extremely difficult for SMEs to introduce Industry 4.0 technologies [9,10].Without these monitoring technologies, the gap between their yield and production costs and those of large manufacturers will gradually widen, and ultimately they will be unable to escape the fate of elimination.Some new methods are needed to address this issue.Such methods must be inexpensive so that they are affordable by SMEs with little capital.
Optimizing process schedules plays a significant role in Industry 4.0 technologies.For this reason, a number of researchers have proposed scheduling-related algorithms [11,12].For instance, Kyparisis and Koulamas [12] proposed a multi-stage scheduling algorithm that can process multiple machineries running in parallel.Furthermore, they demonstrated that this problem is an NP-hard problem.Next, Tahar et al. [13] presented an algorithm that can schedule a set of independent jobs; the algorithm enables users to set the time, break up jobs, and complete them in the shortest time.In recent years, Ivanov et al. [11] developed a scheduling algorithm that can optimize job schedules and consider machinery statuses at the same time.Another feature of their algorithm is that it can assist enterprises in finding multi-objective results rather than the single-objective results in previous papers.As a result, their algorithm can provide enterprises with a variety of options and satisfy options under different conditions.Nevertheless, it is important to understand that although the method above solves the problem of scheduling optimization in Industry 4.0, it is too complex for SMEs.This is because most of these enterprises, which may produce products such as screws, springs, molds, or plastic injections, need only one step to complete the manufacturing of their products.A multi-stage algorithm would be too time-consuming, and these SMEs rarely have the budget to purchase relevant software and hardware to perform these calculations.Thus, some simple approaches are needed to solve this problem.
In response to these machinery monitoring and scheduling issues, this study proposed two solutions.First, in terms of monitoring, we present arduino-based add-on sensors to monitor machinery status.Then a feature extraction algorithm and a dimensionality reduction algorithm are utilized on these collected signals.Finally, a neural network is used to determine whether machinery statuses are normal.The advantage of this method is that the arduino-based add-on sensors are extremely inexpensive, so even if an enterprise requires a large quantity of these sensors, their cost will not be a great burden.Of course, the precision of the data collected by the arduino-based add-on sensors is not as high as that of data collected by expensive sensors.However, the products of SMEs, such as screws, springs, molds, or plastic products, do not require very high precision, so these add-on sensors are adequate for monitoring.
Second, in terms of scheduling, multi-objective scheduling is the current trend [11].Therefore, we developed an algorithm for scheduling with multiple objectives.To achieve this goal, we incorporated the recently well-known skyline query [14][15][16], which can consider situations with different conditions and send back the optimal solutions for various combinations of conditions.With Table 1 and Figure 1 as an example, Table 1 presents the total work time and costs of different schedules.For instance, the total work time of Schedule 1 is 560 min, and its total cost is USD 2,500.Figure 1 displays the total work time and cost of each schedule in Table 1 using coordinates; each point represents a schedule.The points in the very lower left corner of Figure 1 (i.e., Schedules 1,3, and 4) are the skyline schedule results.Schedule 1 has the shortest total work time, Schedule 4 has the lowest total cost, and the total work time and cost of Schedule 3 falls between those of Schedules 1 and 4. Schedule 2 is not a skyline schedule result because its total work time and cost are both higher than those of Schedule 1. Enterprise workers will certainly choose Schedule 1 over Schedule 2. With the concept of skyline schedules, we can help enterprises identify schedules that are superior in all aspects.However, skyline queries are known for requiring longer computation time; to resolve this issue, we developed an innovative algorithm.This paper is arranged as follows.We first introduce some related work in Section 2. Section 3 explains the approaches for monitoring the machinery.Section 4 studies the methods for scheduling.Section 5 presents the experiment and discussion, and Section 6 contains the conclusion.

Industry 4.0 in Small-and Medium-Sized Enterprises
Industry 4.0 initially enjoyed an enthusiastic response; however, many small-and medium-sized enterprises (SMEs) have been unable to participate in this movement due to prohibitively high adoption costs.This has led many researchers to look for ways to lower the entry threshold for SMEs.In the following, we examine a number of the aspects pertaining to the adoption of Industry 4.0 standards by SMEs.
One of the major issues is industrial performance objectives, which deal with flexibility, productivity, and delivery times [9].Many enterprises seek to synchronize various flows through the supply chain; however, that requires considerable flexibility in responding to rapid market fluctuations.Peng et al. [17] proposed a real-time production flow scheme by which to modify production plans in accordance with changes in demand or disruptions in flow.Chalal et al. [18], This paper is arranged as follows.We first introduce some related work in Section 2. Section 3 explains the approaches for monitoring the machinery.Section 4 studies the methods for scheduling.Section 5 presents the experiment and discussion, and Section 6 contains the conclusion.

Related Works
2.1.Industry 4.0 in Small-and Medium-Sized Enterprises Industry 4.0 initially enjoyed an enthusiastic response; however, many small-and medium-sized enterprises (SMEs) have been unable to participate in this movement due to prohibitively high adoption costs.This has led many researchers to look for ways to lower the entry threshold for SMEs.In the following, we examine a number of the aspects pertaining to the adoption of Industry 4.0 standards by SMEs.
One of the major issues is industrial performance objectives, which deal with flexibility, productivity, and delivery times [9].Many enterprises seek to synchronize various flows through the supply chain; however, that requires considerable flexibility in responding to rapid market fluctuations.Peng et al. [17] proposed a real-time production flow scheme by which to modify production plans in accordance with changes in demand or disruptions in flow.Chalal et al. [18], introduced a model with one subsystem for modeling demand and another subsystem for modeling production, making it easier for firms to react to client demands.
Another major issue in the adoption of Industry 4.0 standards is productivity.Givehchi [19] sought to improve efficiency by sequencing machining tasks in a more efficient manner.Dombrowski and Ernst [20] simulated various growth scenarios at the enterprise-level with the aim of reconfiguring production lines to improve production flows.Other researchers focused on reducing delivery times by synchronizing production processes using cloud computing platforms.Denkena et al. [21] used the Internet of Things (IoT) to improve production flows by focusing on waiting times and bottlenecks as a guide for system reconfiguration.
A third major issue in the adoption of Industry 4.0 standards is industrial managerial capacity; that is, monitoring, control, and optimization.Monitoring system status is meant to facilitate proactive responses.For example, Denkena et al. [21] used the IoT to measure the real time flow of parts, whereas Velandia et al. [22] used Radio Frequency Identification (RFID) to record data throughout the entire production process.Control refers to the interaction between employees and the system using historical data and predetermined thresholds [9].For example, MacKerron et al. [23] proposed an RFID-based system to monitor supply processes and automatically alert managers of impending inventory shortfalls.Optimization refers to efforts aimed at improving systems and processes.However, despite the numerous methods that could be employed to reach this goal, most previous work related to SMEs focused on simulating current industrial practices [18,24].

Feature Extraction and Dimensionality Reduction
Feature extraction and dimensionality reduction [25] are the preprocessing methods most commonly used in the analysis of signals such as those related to speech and activity recognition.Feature extraction refers to the identification of specific characteristics or patterns within a given signal.For example, the average value of a speech signal could be used to indicate the loudness of speech.The features used in the analysis of signals include mean values, correlations among axes, mean absolute deviation, root mean square, variance, standard deviation, signal magnitude area, and average energy.It should be noted however that the choice of feature set depends on the specifics of the case; that is, not all features are relevant, and irrelevant features can increase the execution time and/or undermine the precision of analysis [25].Following feature extraction, a number of methods can be used to identify the features best suited to the analysis of a given case.
Dimensionality reduction is the method most commonly used in the selection of features suitable for the analysis of a particular signal.For example, dimensionality reduction can be used to sort through a large number of features identified in the signals collected by automated sensors, such as those found on various forms of machinery.This makes it possible to identify the features best able to verify that a machine is working smoothly or identify cases of imminent failure.Dimensionality reduction is commonly implemented using principal component analysis (PCA) [26] or linear discriminant analysis (LDA) [25].PCA is an unsupervised method, whereas LDA is a supervised method.PCA is used to identify the projections best suited to "representing data", whereas LDA is used for "discriminating among data" [27,28].This makes LDA more suitable than PCA for the monitoring of machinery status.

Classifier for Recognizing the Status of Signal
Classifiers are among the most useful tools for the recognition of signal status.A classifier is first trained using well-defined features, the corresponding status of which is stipulated by experts.This makes it possible to use a trained classifier to determine the status of a signal based solely on its features.The most common classifiers include decision trees [29], K-nearest neighbors (KNN) [30], and neural networks [31].Bao et al. [29] formulated the C4.5 decision tree to recognize 20 daily activities performed by humans.Karantonis et al. [32] developed an hierarchical binary classifier to enhance the precision of classification and recognition rates.Unfortunately, the computational and memory requirements of decision trees make them inapplicable in most real-world situations.Kose et al. [30] and Kaghyan and Sarukhanyan [33] achieved good results using KNN to deal with signals collected associated with human activities; however, the effectiveness of KNN can be compromised by a small training dataset and computational overhead limits its applicability.
Neural networks are currently the most popular method used in the recognition of signal status [34][35][36], due to their excellent learning capability in the discrimination of nonlinearly separable classes.Watanabe [36] used a feedforward neural network with triaxial accelerometer to recognize the movements of hemiplegic patients.Jatoba et al. [34] utilized an adaptive neuro-fuzzy inference system based on signals collected from a triaxial acceleration sensor.Yang et al. [25] recently merged a fuzzy system with a neural network to identify human activities based on signals collected using only one accelerometer.The results of these studies demonstrate the efficacy of using neural-network-based techniques for signal recognition.

Scheduling
Scheduling can be used in enterprises to optimize job flow by arranging tasks in a suitable order.Blazewicz et al. [37] and Lauff and Werner [38] discussed the problem of scheduling in multi-stage systems.Kyparisis and Koulamas [12] considered the same problem, while taking into account the effect of machinery processing speed on job flow.Tahar et al. [13] considered a scheduling problem in which jobs can be split up and assigned sequence-dependent setup times.These methods have proven effective in many situations; however, they are applicable only to single-objective scheduling problems.Ivanov et al. [11] proposed a multi-objective, multi-stage flexible scheduling problem using in each stage alternative machineries with different time-dependent processing speeds.

Skyline Query
Skyline query algorithms are quickly becoming the mainstay of decision support systems.They function as an alternative to top-k algorithms, which are unable to retain the characteristic features of the various dimensions.The skyline approach makes it possible to identify the best result for every dimension, and tailor the results according to criteria designated by the user.Consider a situation in which the user seeks accommodation close to a particular venue.As shown in Table 2, various forms of information pertaining to nearby hotels must be taken into account in the selection of accommodation.If cost and location were the only considerations, then the information could be arranged within a two-dimensional scatter diagram, as shown in Figure 2. The black line is the skyline; it indicates that the cost and distance of C are better than those of D. In other words, C dominates D on both criteria.Unfortunately, a skyline algorithm is unable to choose between A and C, due to the fact that C is closer to the desired venue but A has a lower price.In this situation, the skyline query would return both hotels, leaving the ultimate decision up to the user.This problem becomes increasingly complex when the number of criteria grows.For example, hotels A and C could all be considered skyline hotels, due to the fact that they are not dominated by other hotels.
Three skyline algorithms are particularly well known: block nested loops (BNL) [39], divide and conquer (DAC) [39], and sort limit skyline (SaLSa) [14].The BNL algorithm compares a pair of data points and eliminates the point that is dominated.All of the remaining data points are then compared to one another iteratively in order to identify a single dominant candidate.This is the simplest and most intuitive skyline method; however, computational complexity grows exponentially with an increase in the quantity of data.
The DAC algorithm [39] breaks down data into groups, conducts a separate skyline query in each group, and then combines the group results into a final skyline query to produce a final decision.The elimination of many data points during the initial grouping process enhances the execution speed.
The SaLSa algorithm [14] uses summation values obtained from the raw data as threshold values to enable the filtering out of unnecessary data points.This algorithm arranges data sequentially according to the summation values and checks whether a given data point falls within the skyline threshold before testing for dominance; that is, only those below the threshold value are tested for dominance.The SaLSa algorithm has proven particularly effective in time and cost reduction.Three skyline algorithms are particularly well known: block nested loops (BNL) [39], divide and conquer (DAC) [39], and sort limit skyline (SaLSa) [14].The BNL algorithm compares a pair of data points and eliminates the point that is dominated.All of the remaining data points are then compared to one another iteratively in order to identify a single dominant candidate.This is the simplest and most intuitive skyline method; however, computational complexity grows exponentially with an increase in the quantity of data.
The DAC algorithm [39] breaks down data into groups, conducts a separate skyline query in each group, and then combines the group results into a final skyline query to produce a final decision.The elimination of many data points during the initial grouping process enhances the execution speed.
The SaLSa algorithm [14] uses summation values obtained from the raw data as threshold values to enable the filtering out of unnecessary data points.This algorithm arranges data sequentially according to the summation values and checks whether a given data point falls within the skyline threshold before testing for dominance; that is, only those below the threshold value are tested for dominance.The SaLSa algorithm has proven particularly effective in time and cost reduction.

Machinery Monitoring
In this chapter, we introduce a novel method for monitoring the status of machinery.The monitoring process involves the following steps: (1) collection of signals pertaining to machinery status using add-on sensors; (2) filtering and normalization of collected signals; (3) extraction of feature values and the export of each piece of data as a data point using windows with a designated range; (4) dimensionality reduction using LDA; and (5) input of results into neural network for training and generation of neural network parameters to enable the recognition of data pertaining to machinery status.

Add-On Sensors for the Collection of Data Related to Machinery Status
A number of researchers [40,41] have proposed the analysis of vibration data as a means by which to monitor the status of machines.In this study, we developed a monitoring system based on an inexpensive single chip controller, Arduino, in conjunction with triaxial accelerometers, infrared sensors, and temperature sensors.The proposed system is inexpensive and extensible, making it ideal for SMEs.

Filtering and Normalization of Collected Signals
The signals collected from accelerometers are filtered to remove noise prior to feature value

Machinery Monitoring
In this chapter, we introduce a novel method for monitoring the status of machinery.The monitoring process involves the following steps: (1) collection of signals pertaining to machinery status using add-on sensors; (2) filtering and normalization of collected signals; (3) extraction of feature values and the export of each piece of data as a data point using windows with a designated range; (4) dimensionality reduction using LDA; and (5) input of results into neural network for training and generation of neural network parameters to enable the recognition of data pertaining to machinery status.

Add-On Sensors for the Collection of Data Related to Machinery Status
A number of researchers [40,41] have proposed the analysis of vibration data as a means by which to monitor the status of machines.In this study, we developed a monitoring system based on an inexpensive single chip controller, Arduino, in conjunction with triaxial accelerometers, infrared sensors, and temperature sensors.The proposed system is inexpensive and extensible, making it ideal for SMEs.

Filtering and Normalization of Collected Signals
The signals collected from accelerometers are filtered to remove noise prior to feature value calculation.To deal with the various forms of noise found in different machinery, we use the main frequency of the carrier signal for the selection of filter parameters.For example, if the frequency of the carrier were around 10 Hz, then a low-pass filter would be employed for the removal of noise.

Feature Extraction
The calculation of feature values is achieved using a window with data length determined by the user, such as an enterprise employee.Generally, the length should not exceed half the wavelength of the signal.In accordance with the recommendations in a previous study [25], 50% of each window is overlapped by the following window to enhance the precision of recognition.Figure 3 presents an example in which the signal was collected from a machine in a spring manufacturing facility.Based on a signal wavelength of approximately 200 Hz, the length of the window is set to 80 points with a 40-point overlap of the preceding and succeeding windows.
Window values are represented as [X 1 , X 2 , . . ., X |w| ], where |W| refers to the length of a window, and extracted features are presented as follows: 1.
Mean: Mean value of signal data in each window 2.
Energy: Sum of squares of data in each window divided by the window length: Root mean square: 4. Variance: where m is the mean value of Xi.

5.
Average absolute deviation: Standard deviation: Root mean square of variance 7.
Maximum value: Maximum value of each window.
wavelength of the signal.In accordance with the recommendations in a previous study [25], 50% of each window is overlapped by the following window to enhance the precision of recognition.Figure 3 presents an example in which the signal was collected from a machine in a spring manufacturing facility.Based on a signal wavelength of approximately 200 Hz, the length of the window is set to 80 points with a 40-point overlap of the preceding and succeeding windows.
Window values are represented as [X1, X2, …, X|w|], where |W| refers to the length of a window, and extracted features are presented as follows: 1. Mean: Mean value of signal data in each window 2. Energy: Sum of squares of data in each window divided by the window length: 3. Root mean square: 4. Variance: where m is the mean value of Xi 5. Average absolute deviation:

Dimensionality Reduction Using LDA
In a system using triaxial accelerometers, infrared sensors, and temperature sensors, the following 5 signals would be received at one time: triaxial accelerometer (3 signals), infrared sensor (1 signal), and temperature sensor (1 signal).Extracting 7 features from each signal would result in a total of 35 features.However, this may also include irrelevant data, which could compromise recognition performance.Thus, we employ dimensionality reduction using LDA, which maps high-dimensional data onto a calculated vector, separates data into various categories, and tightens up data in each category.Dimensions with high feature value are then output as results.We adopted the two dispersion matrices outlined in [25], including covariance matrix S B for between categories and covariance matrix S W within categories.S B is the predicted discrete vector values near the mixed averages, which is obtained as follows: and S W is the predicted vector dispersion sample of each category, which is obtained as follows: where N denotes the number of categories; n α is the number of samples in category α; x i α represents sample i of category α; m α is the sample mean vector of category α, and m is the mean vector of all data.
LDA produces mapping vector w to store the category integrity under low dimensionality, and w is used to maximize the formula below; that is, it maximizes the covariance between different categories and minimizes the covariance within a single category.In other words, the objective is to maximize J(w) in Equation (7).Once w has been calculated, the data can be mapped onto coordinate systems and new coordinates can be identified to reduce dimensionality Using Figure 3 as an example of dimensionality reduction, we can obtain the results in Figure 4, in which the points in different colors represent different lengths of springs.The blue points are the springs with their lengths greater than 194 mm.The points in red are the springs with their lengths locate between 189 mm to 193 mm.Finally, the black points are the springs with their lengths smaller than 188 mm.

Using the Neural Networks to Identify the Status of Machineries
In this section, we discuss the use of neural networks to identify the operating status of machinery.We introduce the structure of the proposed neural network, outline the training equations, and illustrate the process of identifying the operating status. Figure 5 presents the structure of the proposed neural network, which includes three layers: an input layer, a hidden layer, and an output layer.The input layer receives the features selected by the LDA, which are then relayed to the hidden layer.Thus, the number of nodes in this layer must equal the number of selected features.The hidden layer merges the features and then uses a set of activation functions to formulate the relationship between the features and the status of the machinery.Note that in this study, we selected the hyperbolic tangent sigmoid function as Appl.Sci.2019, 9, 1549 9 of 17 an activation function, due to the fact that it features dual polarity signals, which have proven highly effective in neural networks [42].We opted for two nodes in this layer, based on the recommendation of Chen and Lee [15].The output layer has only one node, which is responsible for determining the status of the machinery.A value is closer to 1 indicates that the machinery is working well, whereas a value closer to −1 is an indication of abnormal operating status.
structure of the proposed neural network, which includes three layers: an input layer, a hidden layer, and an output layer.The input layer receives the features selected by the LDA, which are then relayed to the hidden layer.Thus, the number of nodes in this layer must equal the number of selected features.The hidden layer merges the features and then uses a set of activation functions to formulate the relationship between the features and the status of the machinery.Note that in this study, we selected the hyperbolic tangent sigmoid function as an activation function, due to the fact that it features dual polarity signals, which have proven highly effective in neural networks [42].We opted for two nodes in this layer, based on the recommendation of Chen and Lee [15].The output layer has only one node, which is responsible for determining the status of the machinery.A value is closer to 1 indicates that the machinery is working well, whereas a value closer to −1 is an indication of abnormal operating status.In the following, we introduce the equations used in the proposed neural network [15].Equations ( 8)-( 10) are used for the input, hidden, and output layers, respectively.To facilitate this discussion, have also included z to represent the zth set of features.
From the above equations, we derived the equations for training the neural network based on the concept of back propagation [15].We first assume that the target function intended for the training network should be as follows: where error(z) is the error value between the ideal output yd(z) and actual network output y(z).
Based on the theorem of back propagation, all parameter in the neural network can be adjusted using the following function: In the following, we introduce the equations used in the proposed neural network [15].Equations ( 8)-( 10) are used for the input, hidden, and output layers, respectively.To facilitate this discussion, have also included z to represent the zth set of features. out From the above equations, we derived the equations for training the neural network based on the concept of back propagation [15].We first assume that the target function intended for the training network should be as follows: where error(z) is the error value between the ideal output y d (z) and actual network output y(z).Based on the theorem of back propagation, all parameter in the neural network can be adjusted using the following function: where w is used as w 1 , b, and w 2 in Equations ( 8)- (10), respectively.Thus, we obtain the training functions of this neural network, as follows: After training the neural network using Equations ( 13)-( 15), the feature set in input to enable the identification of machinery status.For example, if a signal collected from the machinery can be divided into 100 windows, then these windows are transformed into a set of 100 features.Situations in which the neural network recognizes more than half of these features are identified as abnormal; otherwise, the operating status of the machinery is regarded as normal.

Scheduling Algorithms
In the following chapter, we introduce a novel multi-objective scheduling algorithm based on the skyline query for SMEs.To the best of our knowledge, this is the first study to formulate a scheduling algorithm using skyline queries.It should be noted that the proposed scheduling algorithm was developed under the assumption that most of the jobs in smaller enterprises are implemented by single machinery, and that the operation of the machinery is seldom interrupted.Furthermore, for the sake of simplicity, we assumed that each machine in the enterprise is equal with regard to operating efficiency.
Figure 6 presents a flow chart of the proposed scheduling algorithm.For the sake of explanation, let us assume that there are n jobs and m machines (n > m) in this problem, and the maximum delay and the maximum flow time are our only concerns.The algorithm included a heap-based combination pool or the storage of all temporary schedules in the process and a skyline schedule list to store the results of the algorithm.The first step involves obtaining all possible schedules that each machine will be assigned the first job, to be evaluated based on the maximum delay time and maximum flow time.The example in Table 3 includes four jobs (a, b, c, and d) and three machines (A, B, and C).(4) The schedule in question does not include all jobs and is dominated by a schedule in the skyline schedule list.In this case, no extension of the examined schedule could be a skyline schedule.It is immediately deleted from the heap-based combination pool, whereupon we return to the third step for further comparisons.
(5) No schedules remain in the heap-based combination pool.In this situation, all possible schedules have been examined; that is, the scheduling algorithm is completed.
Following the completion of the scheduling algorithm, the schedules remaining in the skyline scheduling list represent the final results.

Simulations
In this chapter, we adopt actual data obtained from a small-scale enterprise involved in the manufacture of metal springs to demonstrate the efficacy of the proposed algorithm.

Experiment Settings
Data were collected from a small Taiwanese enterprise engaged in the manufacture of springs.Most of the springs were meant for export to enterprises in Japan, where the tolerances are particularly low.As a result, the enterprise was eager to obtain assistance in monitoring machinery in order to maintain/improve product quality.Furthermore, this enterprise produces items for more than 50 companies, with new orders coming in every month (many of which are urgent).This greatly complicates scheduling, which often has to be updated several times each day.Clearly, this enterprise requires a systematic method by which to monitor and schedule the use of machinery.
To enable the monitoring of machinery, we employed a three-axis accelerometer (KSM001 ADXL345) with Arduino microcontroller (Uno r3) to collect vibration data from the machinery.This system was applied to a well-worn machine (approximately 10 years old), as shown in Figure 7.This machine was designed based on a cam mechanism mixed with an electrical 3-axis station.Also, this machine offers a Computer Numerical Control (CNC) with an AC servo motor.Metal wire is output from the small hole in the middle of the machine to be shaped into a spring by the surrounding tools.The accelerometer was attached along main axis of the machine, as shown in the middle in Figure 7.All data collect from the Arduino unit was stored in a computer as a Comma-Separated Values (CSV) file to facilitate subsequent processing.
Scheduling was based on data pertaining to actual orders, which was held in an enterprise database (Table 6).Note that all of these tasks were implemented on a single machine; that is, they were not split up among multiple machines.For the sake of simplicity, we established a set time for scheduling (31 May 2016; 22:00:00).Based on a suggestion from the enterprise workers, we focused only on the maximum delay time and maximum flow time.

Identification of Machinery Status
Table 7 lists the dataset used for training, including 7 spring lengths indicative of normal status and 6 spring lengths indicative of abnormal status.According to an employee in the enterprise, a standard spring should be 191 mm in length, with variations of no more than 2 mm (i.e., between 189 mm and 193 mm).Springs outside this range of error are deemed anomalous.For each category of data, we collected ten signals over a period of 20 s, which is the time required for the fabrication of five springs.We then used the method outlined in Section 3 to identify the status of the machinery, the results of which are listed in Table 8.In this table, we can see that the recognition rate for normal springs is (5 + 6 + 5 + 4)/(10 × 4) = 50%, whereas the recognition rate for normal springsis (7 + 7 + 8 + 6 + 8 + 6 + 7 + 7)/(10 × 8) = 70%.The disappointing recognition rate can be attributed to two problems: (1) the differences between the signals associated with different lengths were too small to be recognized using the sensor; particularly in the range of 187 mm to 195 mm; and (2) the machinery used in this experiment was approximately 10 year old, and therefore produced more vibration-related noise than could be effectively filtered out.

Identification of Machinery Status
Table 7 lists the dataset used for training, including 7 spring lengths indicative of normal status and 6 spring lengths indicative of abnormal status.According to an employee in the enterprise, a standard spring should be 191 mm in length, with variations of no more than 2 mm (i.e., between 189 mm and 193 mm).Springs outside this range of error are deemed anomalous.For each category of data, we collected ten signals over a period of 20 s, which is the time required for the fabrication of five springs.We then used the method outlined in Section 3 to identify the status of the machinery, the results of which are listed in Table 8.In this table, we can see that the recognition rate for normal springs is (5 + 6 + 5 + 4)/(10 × 4) = 50%, whereas the recognition rate for normal springsis (7 + 7 + 8 + 6 + 8 + 6 + 7 + 7)/(10 × 8) = 70%.The disappointing recognition rate can be attributed to two problems: (1) the differences between the signals associated with different lengths were too small to be recognized using the sensor; particularly in the range of 187 mm to 195 mm; and (2) the machinery used in this experiment was approximately 10 year old, and therefore produced more vibration-related noise than could be effectively filtered out.

Scheduling System
Table 9 lists the time costs obtained using the proposed scheduling algorithm in which ten jobs are divided up between 3 and 5 machines.As shown in the table, the time costs assigned by the algorithm are reduced with the number of machines.This is because an increase in the number of available machines reduces the number of possible schedules, such that fewer schedules need to be checked by the algorithm.Furthermore, reducing the number of possible schedules reduces the maximum delay time and maximum flow time, thereby reducing the number of schedules that eventually become skyline schedules.In other words, the algorithm no longer has to spend an excessive amount of time examining the dominance relationship between the first term of heap and the schedules in the skyline schedule list.Table 10 lists the results of a comparison between the proposed algorithm and two existing scheduling algorithms: "shortest processing time first plus machinery's load" (SOT) and "earliest due date first plus machinery's load" (DDate).The two existing algorithms produced only one answer, rather than the multiple results returned by the proposed algorithm.We considered the following nine cases: 3 machines with 8, 9 or 10 jobs, 4 machines with 8, 9 or 10 jobs, and 5 machines with 8, 9 or 10 jobs.We then used the average results of these nine cases for comparisons.Table 9 clearly illustrates the superiority of the proposed algorithm with regard to maximum flow time as well as maximum delay time.The one exception is the maximum delay time of the DDate, which was designed to minimize the maximum delay time in scheduling problems.No existing algorithm is able to outperform DDate on this point; however, the proposed algorithm was able to match the performance of DDate.This is a clear demonstration that the proposed algorithm is always able to obtain the optimal solution for maximum delay time.

Information Integration
All of the information was uploaded to a web server to provide web page access to the working status of the machinery and scheduled order of all jobs in the queue.Figure 8 presents the interface of the web page.The green bar next to the machines indicates the current working status; that is, green for normal and red for abnormal.The table in the middle lists the job on which the machine is currently engaged, as well as the product quantity, time estimates, and other important data.The table at the bottom lists the schedule including the next job in the queue.
All of the information was uploaded to a web server to provide web page access to the working status of the machinery and scheduled order of all jobs in the queue.Figure 8 presents the interface of the web page.The green bar next to the machines indicates the current working status; that is, green for normal and red for abnormal.The table in the middle lists the job on which the machine is currently engaged, as well as the product quantity, time estimates, and other important data.The table at the bottom lists the schedule including the next job in the queue.

Conclusions
Since the advent of Industry 4.0, a growing number of manufacturers have been adopting technologies for the monitoring and scheduling of machinery with the aim of increasing yields and optimizing production efficiency.Unfortunately, many of these technological innovations are too expensive for SMEs.In this study, we developed an inexpensive alternative to these two technologies, including add-on sensors by which to monitor the status of machines and a simple algorithm to solve multiple objective scheduling problems.The efficacy of the proposed algorithm was demonstrated in an actual enterprise involved in the manufacture of metal springs.However, our simulation results revealed two limitations of the proposed method: (1) when there is only a small difference between normal and abnormal springs, the use of a low-cost sensor provides disappointing recognition results, due to the low sampling rate and limited accuracy of the sensor; and (2) noise from the monitored machine can also lower the recognition rate, particularly when using a low-cost sensor.In the future, we will investigate the use of multiple low-cost sensors to overcome these problems.It is expected that this will allow the collection of more data that could be used by the algorithm for error recognition.It may also be possible to adopt another algorithm to perform wavelet analysis (i.e., to dismantling the sensor signal) prior to the recognition process.It is very likely that other types of neural network could also be used to enhance recognition performance.

Conclusions
Since the advent of Industry 4.0, a growing number of manufacturers have been adopting technologies for the monitoring and scheduling of machinery with the aim of increasing yields and optimizing production efficiency.Unfortunately, many of these technological innovations are too expensive for SMEs.In this study, we developed an inexpensive alternative to these two technologies, including add-on sensors by which to monitor the status of machines and a simple algorithm to solve multiple objective scheduling problems.The efficacy of the proposed algorithm was demonstrated in an actual enterprise involved in the manufacture of metal springs.However, our simulation results revealed two limitations of the proposed method: (1) when there is only a small difference between normal and abnormal springs, the use of a low-cost sensor provides disappointing recognition results, due to the low sampling rate and limited accuracy of the sensor; and (2) noise from the monitored machine can also lower the recognition rate, particularly when using a low-cost sensor.In the future, we will investigate the use of multiple low-cost sensors to overcome these problems.It is expected that this will allow the collection of more data that could be used by the algorithm for error recognition.It may also be possible to adopt another algorithm to perform wavelet analysis (i.e., to dismantling the sensor signal) prior to the recognition process.It is very likely that other types of neural network could also be used to enhance recognition performance.

Figure 1 .
Figure 1.The example of skyline schedules.

Figure 1 .
Figure 1.The example of skyline schedules.

Figure 2 .
Figure 2. The example of skyline hotels.

6 .
Standard deviation: Root mean square of variance 7. Maximum value: Maximum value of each window

Figure 3 .
Figure 3. Example of feature extraction using windows.Figure 3. Example of feature extraction using windows.

Figure 3 .
Figure 3. Example of feature extraction using windows.Figure 3. Example of feature extraction using windows.

Figure 5 .
Figure 5.The structure of the proposed neural network.

Figure 5 .
Figure 5.The structure of the proposed neural network.

Figure 7 .
Figure 7. Spring fabrication machine used in experiment.

Figure 7 .
Figure 7. Spring fabrication machine used in experiment.

Figure 8 .
Figure 8. Machine operating data integrated on web page.

Figure 8 .
Figure 8. Machine operating data integrated on web page.

Table 1 .
The example of skyline schedules.For instance, the total work time of Schedule 1 is 560 min, and its total cost is USD 2,500.Figure1displays the total work time and cost of each schedule in Table1using coordinates; each point represents a schedule.The points in the very lower left corner of Figure1(i.e., Schedules 1,3, and 4) are the skyline schedule results.Schedule 1 has the shortest total work time, Schedule 4 has the lowest total cost, and the total work time and cost of Schedule 3 falls between those of Schedules 1 and 4. Schedule 2 is not a skyline schedule result because its total work time and cost are both higher than those of Schedule 1. Enterprise workers will certainly choose Schedule 1 over Schedule 2. With the concept of skyline schedules, we can help enterprises identify schedules that are superior in all aspects.However, skyline queries are known for requiring longer computation time; to resolve this issue, we developed an innovative algorithm.

Table 1 .
The example of skyline schedules.

Table 2 .
Information pertaining to hotels in the vicinity of the beach.

Table 6 .
Jobs for the spring enterprise.May 2016; 22:00:00).Based on a suggestion from the enterprise workers, we focused only on the maximum delay time and maximum flow time.

Table 6 .
Jobs for the spring enterprise.

Table 8 .
Recognition results for springs of all lengths.

Table 9 .
Time cost of the proposed scheduling algorithm with 10 jobs.

Table 10 .
Difference between the proposed scheduling algorithm and two existing algorithms.