1. 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 small- and 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.
4. 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).
The second step involves the creation of a heap-based combination pool, wherein all of the schedules obtained in step 2 are sorted in ascending order based on the summation of the maximum delay time and the maximum flow time. This sorting process is used to accelerate the execution speed of the algorithm, based on the fact that objects with a smaller summation value are more likely to be selected as the final result in a skyline query, and should therefore be examined first [
14]. Using
Table 3 as an example, we obtained the results in
Table 4 with all of the schedules arranged according to the summation values of the maximum delay time and the maximum flow time.
The third step of this algorithm involves a comparison of the first schedule in the combination pool with the schedules in the skyline schedule list. Each comparison can lead to five possible results.
(1) The schedule in question includes all of the jobs and is not dominated by any schedule in the skyline schedule list. In this case, the schedule is deemed a skyline schedule, as it is dominated by no other schedule. It is therefore added to the skyline schedule list, whereupon we return to the third step for further comparisons.
(2) The schedule in question includes all of the jobs and is dominated by a schedule in the skyline schedule list. In this case, the schedule is deemed not to be a skyline schedule, as it is dominated by other schedules. It is therefore immediately deleted from the combination pool, whereupon we return to the third step for further comparisons.
(3) The schedule in question does not include all of the jobs and is not dominated by any schedule in the skyline schedule list. In this case, an extension of the schedule still could still be a skyline schedule. We therefore extend this schedule by adding new jobs and reinsert the extended schedule back into the combination pool, whereupon we return to the third step for further comparisons.
Table 5 presents an example to illustrate this case. If the first schedule {A(a), B(b), C(c)} in the heap is not dominated by any schedule in the skyline list, then we should extend it as{A(a, d), B(b), C(c)}, {A(a), B(b, d), C(c)}, and {A(a), B(b), C(c, d)}. We then evaluate the summation of the maximum delay time and maximum flow time of each schedule and reinsert them back into the heap.
Table 4 presents one possible result.
(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.