Keywords

1 Introduction

Modern solutions for Human-Machine Interaction (HMI) for cyber-physical systems (CPS) can provide a high degree of adaptability to skills, competencies and preferences of individual workers. At the same time, they help to cope with the challenges of a highly customized production. Among other objectives, companies aim to increase the flexibility of factory staff deployment, shorten lead times for (new) products, and provide context-based decision support. In pursuit of these goals, the development of adaptive solutions for HMI, which improve workflows, is required, and for this purpose, Decision Support Systems (DSS) are increasingly applied and utilized in factories. DSS applied to production environments as CPS are able to take various parameters into account to improve e.g. task distribution, worker wellbeing as well as work satisfaction. Additionally, DSS can be part of workers' training, allowing them to be knowledgeable in operating smart factories [1, 2].

One area of DSS application in production workshops focusses on planning, monitoring, and improving order execution as well as on improving equipment utilization (cf. OEE). Especially in branches with increasing or yet highly individualized products planning and execution of orders in an optimized manner represents a complex, multicriterial task mainly carried out by experienced employees. Besides defining a sequence for order execution based on work plans and assigning resources, such as workers and equipment, it is also required to determine the priority of each task in order to define the optimized sequencing of multiple orders during sequence planning [3, 4]. In industrial environments, several rules and parameters are applied to derive a task priority based on e.g. customer requirements as well as local or global optimization goals [3, 5,6,7]. E.g. the sequencing rule earliest operation due-date was thoroughly investigated in [8, 9]. In the latter paper, a model for evaluating and improving schedule compliance is presented. The influence of rush orders on the production plan is the focus of [10] and is evaluated by modelling throughput times. A decision support for order acceptance based on calculated possible delivery dates is presented in [11].

A study conducted at the Factory2Fit pilot sites [12] showed the negative impact of dissatisfied customers on work satisfaction. This negative influence results from e.g. (allegedly) missed or unclear deadlines. To increase work satisfaction, a DSS can be utilized to reduce the amount of unfavorably scheduled orders, thereby also minimizing manual re-scheduling expenses as well as creating transparency for the workers and customers in order to create awareness for the situation and to reduce negative impacts on work satisfaction [13]. Corporate in-house departments and external customers requesting services from the production are both treated equally as customers since their satisfaction is identified as important. To achieve high customer satisfaction, punctuality is considered crucial [11, 14]. Due to the high number of tasks in a production department, the varying lead times of orders, and sometimes lack of forecast, in many production workshops the employees need to estimate each task’s priority solely based on experience. To reduce the impact caused by the complex priority assessment in large numbers and to increase customer satisfaction by enhanced transparency, a due-date-related prioritization is proposed.

2 Concept of the Due Date-Related Order Prioritization

2.1 Use Cases for the Due Date-Related Order Prioritization

The use cases for developing the concept for dynamic due date-related prioritization have been defined by the industrial partners of Factory2Fit [12, 15]. Therefore, the processes of the departments hosting the pilot use cases, the process-related parameters, and the related procedures, as well as the existing systems were investigated. One use case was hosted by a metrology lab processing a wide range of products to ensure the quality of processes and products on-site, the other one by an assembly department for heating, ventilation, and air conditioning (HVAC) units [12].

The processes of the pilot use cases as well as the process-related parameters and procedures were investigated and resulted in the Factory2Fit DSS and its incorporated functionalities, whereas the dynamic, due date-related prioritization represents one of these functionalities. The parameters identified for the prioritization of orders and tasks in the highly dynamic and complex environment of a metrology lab and for the more extensive and detailed operations in an assembly department as well as their meaning and application are applied in the DSS to derive the priorities for incoming and pending orders. In the following sections, the respective meanings, the necessity of mapping the variables, and its effect on the order priority are explained. Even though the concept initially has been developed as a part of the Factory2Fit DSS, it can be applied and implemented as a standalone module as well as part of other DSS and factory systems.

2.2 Initial Integration of Order and Task-Relevant Data

For calculating a dynamic, due date-related priority Pj for each pending or incoming order j, the required remaining processing time pj to execute all tasks pjk needs to be determined. The value of pj can be derived from the remaining processing times of the remaining tasks pjk assigned to the order by the work plan as in (1). We assume that the total amount of orders and tasks are m and n, respectively, and that the respective statements hold for all j = 1, …, m and k = 1, …, n.

$$ p_{j} = \sum\nolimits_{k = 1}^{n} {p_{jk} ,p_{jk} > 0\,\,\,\,\,\forall \,\,j = 1, \ldots ,m} $$
(1)

As stated above, punctuality is crucial to keep customers satisfied and thus to reduce the negative impact of dissatisfied customers on workers. Therefore, the due time (relative) or due date (absolute) dj of an order j is a core element of the prioritization. For defining dj of an order j, either a maximum order lead time to process all tasks of order j (Option 1) or a fixed due date where all tasks of order j have to be completed (Option 2) can be applied. In many production workshops, orders arrive without forecast, and all tasks pjk related to a pending order j have to be processed within a maximum allowed order lead time lj (Option 1). In some branches, however, orders are assigned a fixed due date dj, and all tasks pjk of order j need to be finalized when this specified date is reached (Option 2). Hence, both options need to be addressed by the proposed concept. For Option 1 the received time/date (abs.) rj of order j, as well as the maximum order lead time lj of order j, are required as input for (2) to calculate the due time/date dj of order j.

$${d}_{j}={r}_{j}+{l}_{j}, {r}_{j}, {l}_{j}>0\,\,\,\,\,\forall \,\,j=1,\dots ,m$$
(2)

For Option 2 the received time (rel.) or received date (abs.) rj of order j, as well as the fixed due time (rel.) or fixed due date (abs.) dj of order j, are needed as input parameters to calculate the maximum allowed order lead time lj of order j as in (3).

$${l}_{j}={d}_{j}-{r}_{j}, {d}_{j}>{r}_{j}>0\,\,\,\,\,\forall \,\,j=1,\dots ,m$$
(3)

To ensure customers are kept satisfied and unfavorable scheduling is minimized, all incoming and pending tasks pjk need to be processed in time. Due to the high variety of processing times, especially novice workers need to be supported in identifying the latest start time sj of an order j to ensure the due date dj is met. Based on the information available and the introduced parameters, the latest start time (rel.) or latest start date (abs.) can be calculated based on the backward scheduling approach [16] as in (4).

$${s}_{j}={r}_{j}+{l}_{j}-{\sum }_{k=1}^{n}{p}_{jk}={r}_{j}+{l}_{j}-{p}_{j}={d}_{j}-{p}_{j}\,\,\,\,\,\forall \,\,j=1,\dots ,m$$
(4)

In industrial environments, multiple influences can affect the planned processing times. To reduce the risk of missed due dates due to e.g. equipment downtimes and the expenses due to e.g. defining handling processes in the work plans, a buffer can be applied to the remaining processing time pj via the parameter v1. The parameter v1 is set once during the setup and allows to add a buffer by increasing the processing time by a percentage of it, resulting in an adjusted remaining processing time pj* as in (5).

$${p}_{j}^{*}={\sum }_{k=1}^{n}{p}_{jk}+\left({\sum }_{k=1}^{n}{p}_{jk}\right)\bullet {v}_{1}={p}_{j}+\left({p}_{j}\bullet {v}_{1}\right)={p}_{j}\bullet \left(1+{v}_{1}\right)\,\,\,\,\,\forall \,\,j=1,\dots ,m$$
(5)

Here, it is assumed that v1 ≥ 0. Equivalent to the determination of the latest start time (rel.) or latest start date (abs.) sj using the remaining processing time pj of order j to meet the due time (rel.) or due date (abs.) dj an adjusted latest start time (rel.) or adjusted latest start date (abs.) sj* can be determined by (6) using the adjusted remaining processing time pj*. If a pending order j has not been started when passing the adjusted latest start date sj*, the assigned due date dj cannot be met with the assigned work plan.

$${s}_{j}^{*}={r}_{j}+{l}_{j}-\left({p}_{j}\bullet \left(1+{v}_{1}\right)\right)={d}_{j}-{p}_{j}^{*}\,\,\,\,\,\forall \,\,j=1,\dots ,m$$
(6)

To signal reaching the adjusted latest start date sj* of an order j to the workers and supervisors by means of the priority Pj assigned to the order j, the dynamic, due date-related prioritization is designed such that the priority Pj(t) intersects the x-axis for t = sj*. Subsequently, the value of priority Pj(t) for order j at t = sj* equals zero.

2.3 Types of Orders and Their Influence on Priority

During the definition phase, three relevant types of order priorities have been determined based on widely applied practices and procedures in production workshops:

  1. 1.

    Standard priority type, assigned to e.g. standard customer orders.

  2. 2.

    Increased priority type, assigned to e.g. replacement deliveries or urgent orders.

  3. 3.

    Reduced priority type, assigned to e.g. dispensable or optional inhouse orders.

These types of priority also need to be utilized when deriving the priority Pj for order j. To represent the types, the parameters a, b and c are introduced, with a, b and c assigning the priority of standard, increased and reduced priority type order, respectively. Additionally, they represent the initial priorities Pj for the types when an order is scheduled at rj. For the dynamic, due date-related prioritization, a decreasing value of Pj indicates a higher priority of order j. Therefore, the relation is defined as 0 ≤ b < a < c.

The parameters allow adjusting the relation and difference of the three order types according to the specific requirements at a factory. Due to every order j having assigned only one specific order priority type, it is necessary to distinguish between the three existing order types during the calculation of the priority Pj for order j, and thus the binary parameters v2j and v3j are included in the prioritization concept (see Table 1).

Table 1. Case distinction for order priority types for order j

2.4 Deriving the Priority and Adjusted Priority of an Order

Based on the categories for deriving the priority in order to optimize the identified KPIs for production environments, the individual priority values for the orders can be derived dynamically. While for the standard priority order type the priority decreases linearly over time, the priority value for an increased priority order or a reduced priority order changes the gradient at point (sj*, Pj(sj*)) = (sj*, 0). Since the functions are piecewise linear and continuous, these points with changing gradients correspond to the kinks.

The parameters utilized for deriving the priority Pj(t) are shown in (7).

$${P}_{j}(t)=\left\{\begin{array}{c}\left(\left(-\frac{\left(a-\left({v}_{2\mathrm{j}}\bullet \left(a-b\right)\right)+\left({v}_{3\mathrm{j}}\bullet \left(c-a\right)\right)\right)}{\left|{l}_{j}-\left({p}_{j}\bullet \left(1+{v}_{1\mathrm{j}}\right)\right)\right|}\bullet \left(t-{r}_{j}\right)\right)+\left(a-\left({v}_{2\mathrm{j}}\bullet \left(a-b\right)\right)+\left({v}_{3\mathrm{j}}\bullet \left(c-a\right)\right)\right)\right), {r}_{j}\le t<{s}_{j}^{*}\\ \left(\left(-\frac{\left(a+\left({v}_{2\mathrm{j}}\bullet \left(a-b\right)\right)-\left({v}_{3\mathrm{j}}\bullet \left(c-a\right)\right)\right)}{\left|{l}_{j}-\left({p}_{j}\bullet \left(1+{v}_{1\mathrm{j}}\right)\right)\right|}\bullet \left(t-{r}_{j}\right)\right)+\left(a+\left({v}_{2\mathrm{j}}\bullet \left(a-b\right)\right)-\left({v}_{3\mathrm{j}}\bullet \left(c-a\right)\right)\right)\right), t\ge {s}_{j}^{*}\end{array}\right.$$
(7)

During the pilot definition and use case analysis, some non-standard influences on a small number of orders have been identified. To reduce complexity, these rare events are not represented specifically in the dynamic, due date-related prioritization concept. Nevertheless, the proposed concept provides an option for manual intervention and to alter the priority Pj(t) of an order j has been integrated, resulting in an adjusted dynamic, due date-related priority Pj*(t). To implement the manual intervention in case of non-standard conditions, the parameter v4j is introduced as in (8) to allow altering the priority by a specific offset and to modify the priority Pj(t) by the value of v4j for t ∈ [rj, ej) with ej depicting the actual completion time (rel.) or date (abs.) of order j. The upper boundary ej arises from completed orders where calculating priorities becomes obsolet. The decision was made to not allow a manual reduction of the priority Pj (i.e. increasing the calculated value of Pj) due to the restriction that all due dates of all orders and tasks should be met. If an order’s priority needs to be reduced, the supervisor should negotiate an elongated maximum allowed order lead time lj or a postponed due date dj with the customer instead and thus achieving a reduced order priority.

$${P}_{j}^{*}\left(t\right)={P}_{j}\left(t\right)-{v}_{4j }, {v}_{4j}\ge 0\,\,\,\,\,\forall \,\,j=1,\dots ,m$$
(8)

The adjusted priority Pj* can be calculated dynamically by a DSS for each incoming and pending order and subsequently be displayed to the workers as well as be used for scheduling the orders. The adjusted priority Pj* for each order is calculated for the first time when an order is forwarded to the DSS for scheduling and is subsequently updated based on defined time intervals as well as on defined events, such as completion of a task or arrival of a new order. The adjusted priority Pj* calculated by the DSS is also directly influenced by the strategy for documenting the actual task processing progress. When the actual progress is only documented after the completion of a task, the adjusted priority Pj* will be calculated as if the order has not been started until the completion is documented. The adjusted priority Pj* is then recalculated according to the updated adjusted remaining processing time pj* as in (5) of all remaining tasks pjk of order j. Whereas in case of documenting the actual progress of order processing continuously or incrementally, the adjusted priority Pj* of order j is also updated continuously or incrementally, and thus will retain a positive value in case the order is processed in a correct manner to meet its due date dj.

2.5 Investigation of the Parameters

We will now evaluate the parameters of the concept given in (8) and propose methods on how to define the respective values. We start with buffer v1, which is applied to the process time as depicted in (5). Since the exact determination of process times often is hard to be ensured in practice, v1 is introduced to ensure that production plans can be met even when uncertainties, such as assigning employees having differing levels of competence, machine failure, or inaccurate process time data, occur. Initially the value of v1 as a fixed percentage of process time can be based on the employees’ experience. Depending on the company-specific circumstances, the intial buffer usually is set between 10 and 20%. It can be refined incrementally by analysing data on actual process times. It should be the goal to describe the distribution of these values, allowing to make statements on how planned process times deviate from actual ones, make precise predictions which process times can be expected in future and, hence, how v1 should be optimized to match the intended outcome. This improves the transparency of the production processes and supports the employees in the decision-making process. The required steps are described in the following.

First, the probability distributions for the process times have to be defined. Therefore, besides measured times (e.g. utilizing REFA), process times based on Methods-Time Measurement (MTM) [17] can be used. However, this only reflects worker-related influences and not machinery-related occurrences, which have to be considered as well. The process time, as well as e.g. the Mean Time To Repair (MTTR) of a machine, can be modelled by an exponential or lognormal distribution, see e.g. [18]. After suitable probability distributions are chosen, the parameters which define the shape of the distributions have to be set. There exist several methods for estimating parameters, e.g. the Bayesian estimator or the maximum likelihood method [19]. If there is no information available on the distribution that might reflect the process time or the standard distributions do not fit the data well, parameter-free methods like Kaplan-Meier- or Nelson-Aalen estimator [20] can be utilized. The distribution of the actual process times can also be calculated by a non-parametric kernel density estimation. While this method is more precise than the other ones mentioned, it requires a comprehensive database.

In order to validate that the particular choice of distribution and the estimated parameters fit the data (i.e. the process times), distribution tests like Kolmogorov-Smirnov or χ2 goodness-of-fit test can be applied. Note that in (5), the same percentage value is applied to all remaining process times pj. As an additional improvement, order-specific parameters v1j can be introduced, thereby allowing a more precise adjustment of the buffer values and, hence, reducing the deviation from the planned and actual time. It should be mentioned however that this requires a thorough knowledge about the individual process times for all processes.

Next, we investigate the classification of orders according to their priority a, b and c. To cope with high numbers of pending orders and tasks in factories as well as with the complexity of identifying orders and tasks with high priority, production planners already utilize manifold procedures for prioritization in their current practices. These classification procedures are often based either on customer classification (e.g. a-class customer/n-class customer or OEM/Tier-n), product classification (e.g. a-class product/n-class product based on profit margin) or on experience and management decisions. The classification categories and procedures applied are often derived and optimized over a long period of time, represent the corporate knowledge and are well accepted within the organization. Therefore, they give valuable input for the decision support provided by the proposed concept. When introducing the proposed concept in an organization clear rules for assigning a priority type to an order j need to be defined initially. These rules can either be defined e.g. by comprehensive lists of customers, products and/or constraints assigned to each priority type, or they can be derived from order data being available for each order j to be processed, such as quantity of ordered products, height of penalties or service level agreement with the respective customer.

While v1 as well as the order priority type are set before scheduling, v4j allows a dynamic, manual adjustment of the order priority. The specific choice of v4j has a direct impact on the extend of the intervention (note: the higher the priority of an order j, the lower the value of Pj(t)): In order to increase the priority, v4j decreases Pj(t) to Pj*(t). We suggest that one of the following two options is applied: The range of v4j can be limited based on the priority type of the respective order as suggested in (9). Subsequently, orders of lower priority allow a wider range for v4j, and vice versa.

$$ v_{4j} \in \left\{ {\begin{array}{*{20}l} {[0,a]} \hfill & \text{if order j belongs to category a} \hfill \\ {[0,b]} \hfill & \text{if order j belongs to category b} \hfill \\ {[0,c]} \hfill & \text{if order j belongs to category c} \hfill \\ \end{array} } \right. $$
(9)

Alternatively, the range of v4j also can be determined utilizing the current absolute priority as dynamic upper boundary [0, |Pj(t)|] for v4j. Further, setting v4j can be limited depending on the role of the employee inducing the shift: employees on a higher level may have more power on the intensity of the priority change. This can be realized by including positive factors in the computation of the upper boundaries, respectively.

2.6 Example Application for the Due Date-Related Order Prioritization

For an example application we assume that an order j = 1 with the sequential tasks 1.1 (p11 = 10), 1.2 (p12 = 20) and 1.3 (p13 = 10) has to be prioritized with received time r1 = 0 and due time d1 = 70. The parameters for order 1 are set to v1 = 10% and v41 = 0 and the values for the priority types are a = 0,5, b = 0,25 and c = 0,75.

The diagram shown in Fig. 1 visualizes the priority P1*(t) for order 1 over time and shows the influence of the remaining processing time pj(t) on the tasks to be fulfilled. Hereby, the coloured lines represent the values for reduced (light), standard (medium) and increased priority (dark), respectively: the lower the value P1*(t), the higher the priority. The respective latest start time s1 of the order is calculated as in (4) and also visualized for the three tasks.

In the upper part of Fig. 1, the processing time pj(t) is updated only on completion of the respective task, the value of Pj*(t) then shows a significant rise since it is only evaluated for a discrete number of values for p(t) in this scenario (see (7)). The lower part shows a real-time (online) update of pj. The actual processing of the tasks 1.1, 1.2 and 1.3 is represented by the coloured boxes.

Fig. 1.
figure 1

Visualization of Pj*(t) in case of event-discrete (above) and real-time (below) update of the remaining processing time pj for order 1 with tasks 1.1, 1.2 and 1.3 as standard, increased and reduced priority type order (Color figure online)

3 Discussion and Conclusion

The proposed approach is provided to be incorporated in a DSS for scheduling and is designed to determine the adjusted dynamic, due date-related priority as input for the DSS. For e.g. online optimization in a real environment the DSS incorporating the proposed approach will provide the processing times for the tasks to be prioritized. These processing times can either be defined by methods such as MTM or REFA and are applicable for almost any worker or can depend on the skills of the designated or assigned worker/worker class. However, this must be implemented in the DSS utilizing the proposed approach. The approach can be applied in both cases and will calculate the adjusted dynamic, due date-related priority Pj*(t) based on the data provided by the DSS. In case of early completion of tasks or orders, e.g. due to execution by a more skilled worker, the DSS should trigger a rescheduling and reprioritization on completion. In case of the integrating the proposed approach in an offline simulation environment, the processing times for tasks need to be defined as described before, yet the workers executing the tasks can e.g. be defined as personas holding a specific set of skills. This results in actual processing times of the specific persona for specific tasks, or the actual processing times within the simulation environment can be derived by applying probability distributions based on the processing times of the workplans.

Regarding the priority classification of the orders into the categories a,b and c, a further specification in the sense of creating an order of the orders/jobs within the categories will be part of our future research. Based on our experience, the usage of three categories reflects the practical expectations and implementation very well. However, production planners usually have deeper knowledge about certain orders and a tendency towards individual priorities. This is already partly addressed by the parameter v4j (which allows an intervention and a dynamic adjustment of the priority), it can however be modeled using the original “before-hand” classification. The introduction of additional discrete parameters or the modification of the discrete values v2j and v3j to continuous ones requires a thorough investigation of the properties of the resulting model.

The current concept focuses on time-based order prioritization and does not include a financial evaluation of orders. Therefore, a cost term introducing contribution margins of orders could be introduced. This can e.g. be realized by including a penalty term in (8). Further research has to be conducted on how to model the penalty to reflect different types of financial prioritization in companies and workshops. Additionally, the properties of this term, its parameters, and the resulting concept have to be investigated.

An alternative to extend the model to a financial point of view leads to a third open research question: the embedding of the model into an optimization problem and its subsequent solution process. For example, it is possible to model the financial evaluation as a separate objective function, which is optimized for the set of feasible schedules. The specific function(s) have to be defined before the resulting program and its properties can be investigated in order to apply suitable algorithms.