Keywords

1 Introduction

The strive for efficiency of production processes requires that they should be planned and prepared prior to execution. Production scheduling is a vital solution that addresses a number of production-related problems [1, 2].

Although the idea of job scheduling appears uncomplicated, there exist numerous factors, referred to as uncertainty factors, which discard the job schedule immediately after the production process is initiated, which in turn leads to disorganisation and nervousness [2]. The analysis of typical production processes allows us to specify several sources of uncertainty, such as: operation processing time, preparation and due times, time and availability of transportation, machine availability, the availability of personnel and tools, as well as the availability of materials and semi-finished product [2, 3]. When they occur, such problems could result in decreased competitiveness of the company and crumbling trust of customers, which is what no company can afford in the contemporary, highly competitive world. Therefore, there emerges the need for research into consequences of potential disruptions, not to mention their management and compensation, as a method of achieving stability of executed processes [2, 4].

Problems of production process optimisation with the application various solutions are undertaken in many fields [5,6,7], however, there is a marked deficiency in solutions devised for aiding scheduling in actual production systems [1, 4]. In this context, the study was devoted to intelligent job scheduling system accounting for predictive scheduling.

2 Multi-machine Job Scheduling in Production Systems

Job scheduling in actual conditions involves a number of aspects concerned with inter alia, production process dynamics or mathematical complexity of scheduling problems. Existing limitations have lead to developing a separate branch of knowledge devoted to the outstanding issues, i.e. robust scheduling, which is also referred to as scheduling under uncertainty. Robust scheduling is a process, taking into account variability of parameters of the production system, which produces a schedule characterised by its potential for absorbing disruptions. The schedule is developed to counteract instability and nervousness [8,9,10].

Robust scheduling is inseparably connected with predictive-reactive scheduling, which constitutes a combination of the two aforementioned methods for scheduling under uncertainty [10,11,12,13]:

  1. 1.

    Predictive scheduling, is connected with the planning stage, and referred to in literature as off-line scheduling, which is when the following schedules are developed:

    • nominal schedule – based on actual parameters of a system,

    • predictive schedule – taking into account uncertainty and flexibility of the executed process.

  2. 2.

    Reactive scheduling pertains to the execution stage and is referred to as on-line phase. The schedule is created or modified in production. Any change of the process results in the implementation of an alternative schedule.

Robust scheduling aims at minimising the effect of various disruptions on the process in execution. The developed schedule will thus ensure that no loss of performance occurs in the presence of disruption. Most common techniques of creating robust schedules include [9, 11]:

  • redundancy-based techniques,

  • conditional scheduling,

  • creating partially ordered schedules,

  • schedule sensitivity analysis.

Implementation of robust schedules and related techniques enables scheduling in actual production systems, where standard solutions frequently demonstrate gross inefficiency.

3 Intelligent Scheduling in the Production System

Application of robust scheduling principles in production demands employing a series of solutions for analysis of executed processes and building predictive-reactive schedules. This has led us to proposing an intelligent robust scheduling system, presented in Fig. 1.

Fig. 1.
figure 1

(Source: own study)

Overview of the proposed job scheduling system

The major elements of the proposed system are as follows:

  • Statistical Data Analysis Module,

  • Database with Decision Controller,

  • Predictive-Reactive Scheduling Module.

Each element of the system contributes its functions to the global job scheduling process. The entire system is based on data obtained in the execution of production processes, therefore our model includes feedback. Data acquisition is carried out in either analogue, which requires the input by the operator, or digital manner, managed by specialist hardware. The acquired data is subsequently processed in the auxiliary modules of the system.

The Statistical Data Analysis Module provides support in the predictive stage of scheduling by examining data regarding machine failure and job processing time. Properly selected and processed with statistical tools, the data enables failure prediction and ensures robustness of the schedule by introducing buffer times in crucial areas of the schedule. The use of statistical data in predictive scheduling is a commonly investigated issue [14, 15]. The knowledge of actual job processing times is paramount to building robust schedules for actual production conditions. The data employed at this stage are statistical and predominantly consist of historical information concerned with analysed disruptions.

The Decision Module is responsible for reactive scheduling stage. The module additionally includes the Database of uncertainty factors and historical data of scheduling problems (past consequences of rescheduling, optimal schedules, lateness of jobs, etc.). This AI-based module employs machine learning and grants decisions based on current and historical data, derived from the Database. Such solutions are increasingly widespread particularly in maintenance-related applications [16,17,18]. Growing database will allow the system to counteract particular risks with appropriate actions. Compared with the module aiding predictive scheduling, this module is characterised by dynamic data acquisition, inference and production scheduling.

The activities of the previously described modules are complemented and integrated by the Predictive-Reactive Scheduling Module. It is discussed here as a separate module to emphasise the key role of the operator in the Production Planning Department. The presented system by no means excludes human work from the entire process; it is rather shifted to an auxiliary function in production planning teams. Planners are responsible for supervision over the entire process of production scheduling, based on their experience and data gathered by the intelligent job scheduling system.

4 Predictive Scheduling with Two-Factor Uncertainty

The presented system is based on predictive scheduling. The essence of off-line scheduling is best highlighted when analysing the effect of uncertainty factors regarding job processing times and failure of selected technological machines. The simulation testing was conducted with LiSA (Library of Scheduling Algorithms) software under certain assumptions. The analysis consisted in executing subsequent stages of production process scheduling [11, 19], i.e.: defining the production system environment, input data, objective function and selection of scheduling method. Execution of theses stages allowed us to conduct the simulation.

4.1 Assumptions in the Analysed Production Process

It was assumed that the production consists in processing six jobs of defined machine route in the stock of ten machine tools/cells in a layout representing a job-shop system. Each element is a separate product, therefore there is a total flexibility in terms of release time and due dates of particular jobs. The elements are produced in the following batches:

  • element 1 and element 2–100 pieces,

  • element 3–80 pieces,

  • element 4 and element 5–60 pieces,

  • element 6–50 pieces.

The assumption is that production must be conducted at a shortest time. In addition, production process disruptions are allowed, and may occur as processing time delays and technological machine failure.

4.2 Input Data

Defining the input data required analysing 6 selected production processes, which provided the basis for the database processed by LiSA software in job scheduling. An example of a technological process is shown in Table 1.

Table 1. Technological process of producing element 5 (job 5) [20]

The technological data served to develop a mathematical model, afterwards implemented in the software. The following were defined [19]:

  • set of machines/cells M:

$$ M = \{ M_{1} ,M_{2} ,M_{3} ,M_{4} ,M_{5} ,M_{6} ,M_{7} ,M_{8} ,M_{9} ,M_{10} \} , $$
(1)
  • set of processed jobs J:

$$ J = \{ J_{1} ,J_{2} ,J_{3} ,J_{4} ,J_{5} ,J_{6} \} , $$
(2)
  • set of operations – in matrix of set of operations SIJ, which contains information regarding the use of machines in processing of production jobs (columns represent subsequent cells and rows – jobs; execution of a particular job on the machine is denoted by 1):

$$ SIJ = \left[ {\begin{array}{*{20}c} 1 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 1 & 0 \\ 1 & 0 & 0 & 0 & 1 & 0 & 0 & 0 & 1 & 1 \\ 1 & 0 & 0 & 0 & 1 & 0 & 0 & 0 & 1 & 1 \\ 1 & 0 & 0 & 0 & 1 & 1 & 0 & 0 & 1 & 1 \\ 1 & 1 & 0 & 0 & 1 & 0 & 0 & 0 & 1 & 1 \\ 0 & 0 & 1 & 1 & 0 & 0 & 1 & 1 & 1 & 1 \\ \end{array} } \right], $$
(3)
  • matrix of processing times PIJ contains processing times of particular jobs on machines (and similarly as in SIJ, columns represent subsequent cells and rows – jobs):

$$ PIJ = \left[ {\begin{array}{*{20}c} {3.16} & 0 & 0 & 0 & 0 & 0 & 0 & 0 & {1.3} & 0 \\ {2.75} & 0 & 0 & 0 & {2.38} & 0 & 0 & 0 & {1.15} & {1.3} \\ {3.58} & 0 & 0 & 0 & {2.78} & 0 & 0 & 0 & {1.15} & {1.3} \\ {3.58} & 0 & 0 & 0 & {1.58} & {2.78} & 0 & 0 & {0.75} & {0.9} \\ {1.35} & 1 & 0 & 0 & {1.6} & 0 & 0 & 0 & {0.75} & {0.9} \\ 0 & 0 & {2.4} & {3.3} & 0 & 0 & {1.4} & {1.4} & {0.65} & {0.8} \\ \end{array} } \right], $$
(4)
  • matrix of machine orders MO represents the rank of jobs on particular machines (and as in the case of previous matrices, columns represent subsequent cells and rows – jobs):

$$ MO = \left[ {\begin{array}{*{20}c} 1 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 2 & 0 \\ 1 & 0 & 0 & 0 & 2 & 0 & 0 & 0 & 3 & 4 \\ 1 & 0 & 0 & 0 & 2 & 0 & 0 & 0 & 3 & 4 \\ 1 & 0 & 0 & 0 & 3 & 2 & 0 & 0 & 4 & 5 \\ 1 & 2 & 0 & 0 & 3 & 0 & 0 & 0 & 4 & 5 \\ 0 & 0 & 1 & 2 & 0 & 0 & 4 & 5 & 3 & 6 \\ \end{array} } \right]. $$
(5)

The next stage of input data preparation consisted in preparing data regarding uncertainty of the analysed process. In generation of the data in question, the following solutions were employed:

  1. 1.

    In the case of job processing times variability the random integer generator, based on atmospheric noise, accessed at RANDOM.ORG was used [21]. The available solutions generated percentage values of job processing times variation in the range of ±10%. A random selection of values generated for job 2, together with processing times are collated in Table 2.

    Table 2. Variable processing times for job 2.
  2. 2.

    Potential machine failure was included in the model as buffer times of suitable duration, which can be also treated as an indispensible machine servicing time. 3 machines subject to the highest workload were selected, M 1, M 5 and M 10, and the following failure parameters were defined for each machine:

    • machine M 1, failure can occur after 6 h of processing production jobs, time buffer of 2.5 h,

    • machine M 5, failure can occur after 8 h of processing production jobs, time buffer of 2 h,

    • machine M 10, failure can occur after 18 h of processing production jobs, time buffer of 1.5 h.

Instances of machine failure were included in LiSA software as subsequent, one-operation jobs processed on machines at risk. Failure times were defined as job availability times of 6, 8 and 18 h respectively. The times were selected so as to occur in the period when the highest number of jobs are processed on the machine. The lengths of time buffers were derived from the technical data obtained from Maintenance Department of a selected manufacturing enterprise [14].

4.3 Objective Function

Defining the objective function is an essential element of any production scheduling process. The criterion should comply with two rudimentary conditions: converge with the objective of the enterprise and facilitate analysis of obtained results [22]. The objective function frequently serves as a gauge of implemented scheduling, and constitutes an excellent solution for comparative analysis of optimisation results obtained by different scheduling methods, including robust scheduling ones [3, 19].

In the present paper, the objective function of scheduling was optimisation of C max (make-span) index, i.e. completion time of all jobs. The choice of the objective function was dictated by the initial assumption of minimising job completion time.

4.4 Selection of Scheduling Method

The method chosen for job-shop scheduling in the analysed case was scheduling with algorithm for dispatching rules. Numerous researchers in the field point at scheduling by dispatching rules as one of the most commonly applied methods in actual production systems [4, 10, 11, 14]. There are several advantages of the method, among which these are: quick solution, analysis of alternative scheduling scenarios, easy implementation of the method, which contribute to its popularity in industrial conditions.

The method schedules jobs on particular machines based on certain priority rules, according to which it chooses the next operation [4].

In the presented study, the following rules were applied:

  • FCFS – First Come First Served (priority given to operations that first arrive to the machine),

  • EDD – Earliest Due Date (priority given to operations with the earliest due dates),

  • SPT – Shortest Processing Time (priority given to operations with the shortest processing time),

  • LPT – Longest Processing Time (priority given to operations with the longest processing time),

  • RND – Random (priority assigned randomly).

4.5 Simulation of Production

The application of LiSA software allowed us to conduct job scheduling for four different scenarios, whose results where then analysed. Each analysed scenario was based on different assumptions.

  1. 1.

    Scenario I: The length of operation times is derived from technological documentation.

  2. 2.

    Scenario II: Operation times are subject to change of maximum ± 10%.

  3. 3.

    Scenario III: three machines subjected to the heaviest workload can suffer failure (suitable service buffers were defined).

  4. 4.

    Scenario IV: three machines subjected to the heaviest workload can suffer failure, and operation processing times are subjected to change of max. ± 10% (a combination of scenarios II and IV).

4.6 Results of Simulation

The results obtained from the analysis indicate that the scheduling method based on several dispatch rules is suitable for application in actual production processes. The schedules produced in the study were obtained in short time and the results are transparent and easily analysed (Table 3).

Table 3. Value of C max for each analysed scenario.

The obtained values of C max index indicate that the value of makespan heavily depends on a particular dispatching rule applied. In the case of scenarios I and II the best optimisation was obtained with LTP, whereas when time buffers were introduced in the event of machine failure (scenarios II and IV) it was FCFS rule that produced the best optimisation.

It must be mentioned that taking into account changes of operation processing times has negligible effect on the makespan of schedule, while in SPT and RND rules it leads to a slight decrease in due time. However, the factor that did exert notable impact on the makespan was introducing the service buffers in the event of machine failure. In certain cases, the resulting change is considerable, yet in FCFS and EDD the time increases to 2.72 h. The decision whether the delay is acceptable or not is a debatable issue. Eventually, the predictive schedule might be indeed longer, nevertheless, it carries such benefits as increased stability and absorption of disruptions.

5 Conclusion

Production scheduling is an indispensible element of effective organisation and management of any production process. However, existing solutions for designing and optimising production jobs schedules are burdened with limitations due to dynamic nature of manufacturing and high mathematical complexity of scheduling. As a result, classical methods are highly ineffective in the conditions of actual manufacturing enterprises.

The optimised model schedule based on standard data requires continuous updating, which, bearing in mind NP-hardness of scheduling, makes it virtually inapplicable in actual multi-machine production systems. Therefore, researches have been proposing solutions accounting for prediction of certain disruptions in the process, which lead to the development of robust schedules. The latter, nevertheless, do exhibit certain limitations with regards to the accuracy of prognoses and their inconsistency with actual conditions.

This paper proposes an original solution to job-shop scheduling, integrating predictive and reactive scheduling, which is essentially an intelligent process of job scheduling optimisation exhibiting features of machine learning. The process is based on a robust schedule deriving from actual historical data of machine failure or technological operation processing times. The proposed approach enables computing (optimising) the schedule, for instance, at the end of shift, in order to prevent error inheritance that might result from discrepancies between the developed model schedule and actual progress of the production process.