# Computing Idle Times in Fuzzy Flexible Job Shop Scheduling
## 1 Introduction  
Scheduling is concerned with distributing and planning the execution of multiple tasks on a limited set of resources under different constraints, usually with the goal of optimising some objectives [1, 2]. This kind of problem has multiple applications not only in industry and logistics but also in areas such as healthcare, education, or cloud computing [3, 4, 5, 6, 7]. The problems in the family known as job shop scheduling are especially significant because they can be used to model many real-world situations [8]. In a job shop, tasks or operations are part of jobs, so operations in a job must be executed in a given order. In the flexible variant, operations can be executed with different resources, so a resource-allocation problem arises in addition to the problem of sequencing operations belonging to different jobs within each resource [9, 10]. In addition to presenting a challenge due to its complexity, the flexible job shop problem attracts special attention due to its relevance in modern industrial problems [11, 12]. The majority of the research devoted to scheduling assumes that all parameter values are deterministic and well known in advance. However, in real life, it is often the case that some factors, e.g., processing times, are subject to variability due to machine or human influences. This source of uncertainty should not be dismissed; instead, the proper management of the non-deterministic elements of the scheduling process is especially important in Industry 5.0 solutions [13]. In particular, uncertainty in operation processing times canbe addressed with stochastic models or, alternatively, using fuzzy numbers. Following the pioneering works [14; 15] fuzzy sets and fuzzy numbers have been amply used in scheduling [16; 17; 18; 19]. The reviews [20; 21] provide many examples where fuzzy numbers have been successfully applied to shop scheduling problems. In the particular case of the fuzzy flexible job shop scheduling problem, some works consider traditional production-related objectives, for instance, weighted tardiness and earliness [22], makespan [23], or makespan and total workload [24], while others focus on energy efficiency [25; 26]. We can also find multiobjective proposals that combine the optimisation of energy consumption together with more traditional objectives, such as makespan or deadline satisfaction [27; 28; 29; 30]. A survey of solving methods can be found in [31]. Associated with a schedule are the concepts of idle and waiting times. Idle time is the time spent with the resources waiting to process operations, while the waiting time, its counterpart from the job point of view, is the time spent by jobs waiting for the resources to become available. Idle and waiting times can be of interest for several reasons: they can be part of a constraint, they may constitute an objective in themselves, they may be a component of some other performance objective function, or it may be necessary to compute them as part of a solution method. Idle and waiting times act as hard constraints when no-wait or no-idle schedules are required. In other cases, a strict no-wait or no-idle constraint might be relaxed and, instead, waiting or idle times need to be kept as small as possible for technological reasons. For example, in food industries, an excessive waiting time after an operation might cause the produced goods to be spoilt and unusable for later operations, or in chemical industries, it can be the case that no waiting time can be allowed between warming and manufacturing operations in the same job. Likewise, it may be undesirable or simply not allowed to have idle resources, for instance, when machines require consumable products, such as pains or powders, that become unusable if the machine stays idle for too long (e.g., paint becomes dried or powder oxidises), or in the steel industry, where furnaces must be kept at a high temperature at all times, regardless of whether they are active or idle.