Next Article in Journal
LSTGINet: Local Attention Spatio-Temporal Graph Inference Network for Age Prediction
Previous Article in Journal
Breast Cancer Classification Using an Adapted Bump-Hunting Algorithm
 
 
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:
Background:
Article

Computing Idle Times in Fuzzy Flexible Job Shop Scheduling

by
Pablo García Gómez
1,
Inés González-Rodríguez
1,* and
Camino R. Vela
2
1
Department of Mathematics, Statistics and Computing, Universidad de Cantabria, 39005 Santander, Cantabria, Spain
2
Department of Computer Science, Universidad de Oviedo, 33204 Gijón, Asturias, Spain
*
Author to whom correspondence should be addressed.
Algorithms 2025, 18(3), 137; https://doi.org/10.3390/a18030137
Submission received: 21 January 2025 / Revised: 20 February 2025 / Accepted: 24 February 2025 / Published: 3 March 2025
(This article belongs to the Section Algorithms for Multidisciplinary Applications)

Abstract

:
The flexible job shop scheduling problem is relevant in many different areas. However, the usual deterministic approach sees its usefulness limited, as uncertainty plays a paramount role in real-world processes. Considering processing times in the form of fuzzy numbers is a computationally affordable way to model uncertainty that enhances the applicability of obtained solutions. Unfortunately, fuzzy processing times add an extra layer of complexity to otherwise straightforward operations. For example, in energy-aware environments, measuring the idle times of resources is of the utmost importance, but it goes from a trivial calculation in the deterministic setting to a critical modelling decision in fuzzy scenarios, where different approaches are possible. In this paper, we analyse the drawbacks of the existing translation of the deterministic approach to a fuzzy context and propose two alternative ways of computing the idle times in a schedule. We show that, unlike in the deterministic setting, the different definitions are not equivalent when fuzzy processing times are considered, and results are directly affected, depending on which one is used. We conclude that the new ways of computing idle times under uncertainty provide more reliable values and, hence, better schedules.

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 can be 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 paints 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. More generally, idle times can be relevant indicators of the efficiency of production systems, especially in those where expensive resources are part of the considered production layout since idle times are directly related to resource utilisation. Also, minimising the total core idle time (i.e., the idle time within the system) is strongly aligned with minimising the makespan, a classical objective in scheduling. Beyond manufacturing, in service environments where the resources are human workers (e.g., in healthcare), it may be desirable to minimise idle times not only to reduce costs and gain efficiency but also to maximise workers’ satisfaction [32,33,34].
Idle times have garnered increasing attention with the growth of energy-aware or green scheduling. According to [35], studies on energy-efficient scheduling are classified into four groups based on energy-saving methods. The first is to reduce unnecessary idle time: it is estimated that, in actual manufacturing processes, machine tools stay idle most of the time and consume about 80% of energy while being in this idle state; in consequence, over 30% of the articles reviewed in [36] consider idle energy consumption as part of the objective function to be minimised. The second approach is to directly turn off the resources when the idle time is long enough and the energy savings compensate for the cost of turning on/off. The third approach is to adjust the machine speed when energy consumption depends on it. Finally, the fourth one is to favour off-peak production: given that, in peak time, electricity costs (and associated pollution) are high, scheduling part of the production at a non-peak time can save a significant amount of electricity cost and mitigate pollution.
We find in the literature many recent examples of green scheduling (many flexible job shop problems) where idle times play an important part. In [35], they consider an energy-efficient flexible job shop under time-of-use pricing and scheduled downtime. With prices of electricity varying over discrete time intervals, the key is to take advantage of idle times and shift the inevitable idle time to peak periods and the production to off-peak periods in order to minimise the energy cost. The flexible job shop problem is also addressed in [37,38]. In the former, the objective is to minimise the total energy consumption by adopting an on/off strategy that takes into account idle times. In the latter, energy consumption is composed of processing energy consumption, idle energy consumption, setup energy consumption, and common energy consumption. A multiobjective dynamic version of the flexible job shop scheduling problem minimising both energy and completion time is tackled in [39] through idle machine time arrangement and machine speed level selection. Inspired by real-world problems, in [40], they present an approach to minimising idle energy consumption and apply it to a heat-intensive process employing a steel-hardening furnace, which requires a high power input to reach and maintain the specific operating temperature, so a considerable amount of energy is consumed even during the periods when no material is being processed. Ref. [41] addresses scheduling in virtual network functions, modelled as a job shop problem, with the goal of simultaneously minimising the makespan and the idle energy loss. In [42] we find another multiobjective scheduling problem, here applied to bakery production, taking into account the reduction in oven idle times as a means of reducing energy consumption. The results show that, by penalising the best makespan by a marginal amount, alternative optimal solutions obtain a considerable reduction in oven idle time by up to 61%, resulting in a strategy that allows small and medium-sized bakeries to lower production costs and reduce CO 2 emissions.
Clearly, to enhance its scope of application and come closer to solving real-world problems, fuzzy scheduling also needs to handle and take into account idle times. However, computing idle times between operations in a resource or the total time a resource is idle is far from trivial in the fuzzy setting since it is not possible to directly extend the equations and techniques from the deterministic framework. This may be the reason why few attempts have been made in this direction, with a few exceptions. Idle times between operations are used to calculate the idle energy consumption in a fuzzy job shop in [43], while multiobjective versions of this problem are tackled in [44,45]. In the first case, idle gaps are used to right-shift operations with the goal of reducing the energy consumption of a given schedule, and in the second case, MIP post-processing makes use of these idle times to also improve the energy cost of a schedule.
Below, we will address the fuzzy flexible job shop problem. We will illustrate the difficulties inherent to computing idle times in the fuzzy framework. We will propose two different ways of computing the idle times between operations in a resource, as well as a third way of directly computing the total idle time in a resource. We will argue that, although, in the deterministic setting these three approaches are equivalent and yield the same value for the total core idle time in a schedule, that is not the case under uncertainty. We will finally conduct an experimental study to empirically evaluate the three proposals for computing idle times in fuzzy schedules.

2. The Fuzzy Flexible Job Shop Problem

The flexible job shop scheduling problem consists in scheduling a set O of operations (also called tasks) in a set R of m resources (also called machines) subject to a set of constraints. Operations are organised in a set, J , of n jobs, so operations within a job must be sequentially scheduled. Given an operation, o O , χ ( o ) will denote the job in J that this operation belongs to, and η ( o ) will denote the relative position of o in the job, χ ( o ) . Each operation, o O , can only be processed in resources from a given subset, R ( o ) R , with a processing time, p ( o , r ) , which is dependent on the resource, r R ( o ) , where it is executed. Furthermore, the following statements are assumed:
  • All jobs and resources are available at the first instant of time.
  • Preemption is not allowed; i.e., each operation must be completed without interruption once started.
  • Machines cannot perform more than one operation at a time.
  • Transportation times between resources and setup times are negligible.
  • Operations are assumed to be successfully completed after the first attempt; the scrap rate is zero.
  • The available capacity of resources is known; there are no stoppages, breakdowns, etc.
  • Buffers with infinite capacity are available for all resources.
Under this problem formulation, the idle time is the time spent by a resource waiting for an operation to process it. The total idle time in a resource can usually be decomposed into front, back, and core idle times. The front idle time is the time a resource waits before starting the first operation (while other resources are already working), the back idle time is the time between the instant when a resource completes its last operation and the instant the last resource finishes working, and the core idle time refers to the time a resource is idle between operations, that is, once it has finished processing one operation and is waiting for the next operation to start being processed.
The objective of this paper is to minimise the total core idle time (that is, the sum of core idle times for all resources) in the fuzzy flexible job shop. In the following subsections, we will describe how to work with fuzzy processing times and how they affect idle time calculations. The notation used throughout the paper is summarised in Table 1.

2.1. Fuzzy Processing Times

It is fairly common in the literature to model uncertain processing times as triangular fuzzy numbers (TFNs), defined by an interval, [ a 1 , a 3 ] , of possible values (its support) and a modal value, a 2 [16]. A TFN can be represented as a triplet, a ^ = ( a 1 , a 2 , a 3 ) , so its membership function is given by the following:
μ a ^ ( x ) = x a 1 a 2 a 1 a 1 x a 2 x a 3 a 2 a 3 a 2 x a 3 0 otherwise
Arithmetic operations on TFNs are defined based on the Extension Principle [46], so for two TFNs, a ^ and b ^ , the sum is a TFN defined as follows:
a ^ + b ^ = ( a 1 + b 1 , a 2 + b 2 , a 3 + b 3 ) ,
And their difference is a TFN defined as follows:
a ^ b ^ = ( a 1 b 3 , a 2 b 2 , a 3 b 1 ) .
At first, the resulting expression for the subtraction may seem counter-intuitive. However, notice that the smallest possible value that the uncertain variable, a, described by a ^ , may take is a 1 , while the greatest possible value for the uncertain variable, b, described by b ^ , is b 3 and, hence, the smallest possible value for their difference is a 1 b 3 . Analogously, the greatest possible value for the difference will be a 3 b 1 . This results in support for the difference where the extreme values of the two involved TFNs can be said to be “crossed”. Interestingly enough, the same expressions for the sum and the difference are obtained if we reconstruct them via interval computation from the alpha-cuts [16,46]. A consequence of these definitions is that, in the set of TFNs, the difference is not necessarily the inverse of the sum, that is, a ^ ( a ^ + b ^ ) b ^ . This is because underlying the definition (3) that results from the Extension Principle is the assumption that the uncertain variables a and b associated with a ^ and b ^ are non-interactive; i.e., they can take values in their support independently of each other. Therefore, when the TFNs a ^ and b ^ are linked, the resulting difference may be an “over-uncertain” or “pessimistic” quantity. This may prove to be an issue in certain applications; it is, for instance, the main difficulty in critical-path analysis and backpropagation in activity networks with fuzzy durations [16].
Unlike the cases of addition and subtraction, the set of TFNs is not closed under the extended maximum. For this reason, in fuzzy scheduling, it is usual to approximate the maximum of two TFNs via interpolation as follows:
max ( a ^ , b ^ ) ( max ( a 1 , b 1 ) , max ( a 2 , b 2 ) , max ( a 3 , b 3 ) ) .
The approximation always preserves the support and the modal value, and, if the result of the extended maximum is a TFN, it coincides with the approximated value (cf. [47]).
Given that the set of TFNs is not endowed with a natural total order, it is common practice to resort to some ranking method to make comparisons. A widely used one is that based on expected values. For a TFN, a ^ , its expected value is as follows:
E [ a ^ ] = a 1 + 2 a 2 + a 3 4 ,
So, any two TFNs a ^ and b ^ can be compared as follows:
a ^ E b ^ if and only if E [ a ^ ] E [ b ^ ] .
Accordingly, we will write a ^ < E b ^ when E [ a ^ ] < E [ b ^ ] . The ranking induced via the expected value coincides with several other rankings from the literature; it is also related to classical interval comparisons via imprecise probabilities, and it has been empirically shown to result in more robust solutions when used in fuzzy scheduling [47,48].
In addition, we consider the following precedence relation between any pair of two TFNs, a ^ and b ^ :
a ^ b ^ if a i b i i { 1 , 2 , 3 } ,
with strong precedence, a ^ b ^ , if and only if a ^ b ^ i { 1 , 2 , 3 } a i < b i .

2.2. Fuzzy Schedules

A solution to the problem, commonly called a schedule and denoted as ϕ = ( τ ϕ , s ϕ ) , consists of both a resource assignment, τ ϕ , and a starting time assignment, s ϕ , for all operations. This solution is feasible if and only if all precedence and capacity constraints hold. More formally, for an operation, o O , let τ ϕ ( o ) be the resource to which it is assigned in ϕ , and let s ϕ ^ ( o ) and c ϕ ^ ( o ) = s ϕ ^ ( o ) + p ^ ( o , τ ϕ ( o ) ) be, respectively, its starting and completion times in the solution ϕ . Then, precedence constraints hold for ϕ if and only if, for any pair of operations, o , u O ,
c ϕ ^ ( o ) s ϕ ^ ( u ) when χ ( o ) = χ ( u ) , η ( o ) < η ( u )
and capacity constraints hold if and only if
τ ϕ ( o ) R ( o )
c ϕ ^ ( o ) s ϕ ^ ( u ) c ϕ ^ ( u ) s ϕ ^ ( o ) when τ ϕ ( o ) = τ ϕ ( u ) .
Notice that a feasible starting time assignment, s ϕ , induces an ordering for all the operations in the same resource. In the sequel, given a resource, r R , let α ϕ ( r ) denote the first operation to be processed in r according to schedule ϕ , and let ω ϕ ( r ) be the last operation to be processed in r. Also, for an operation, o O , let JP ( o ) (resp. JS ( o ) ) denote its immediate predecessor (resp. successor) in its job, RP ϕ ( o ) (resp. RS ϕ ( o ) ) its immediate predecessor (resp. successor) in its resource according to the ordering induced via ϕ , and p ϕ ^ ( o ) = p ^ ( o , τ ϕ ( o ) ) the operation’s processing time in the resource to which it is assigned.
A feasible schedule is semi-active if no operation, o, can start earlier (in the sense that it can be assigned another starting time, s ^ ( o ) , such that s ^ ( o ) s ϕ ^ ( o ) ) without changing the order of processing on any of the resources. In consequence, for a semi-active schedule, the starting time of any operation, o, is the earliest starting time of that operation according to the job and resource processing orders:
s ϕ ^ ( o ) = max { c ϕ ^ ( JP ( o ) ) , c ϕ ^ ( RP ϕ ( o ) ) }
where c ϕ ^ ( JP ( o ) ) (resp. c ϕ ^ ( RP ϕ ( o ) ) ) is taken to be ( 0 , 0 , 0 ) if η ( o ) = min { η ( u ) : χ ( u ) = χ ( o ) } , that is, o is the first operation in its job (resp. o is the first operation in its resource, o = α ϕ ( τ ϕ ( o ) ) ).
For so-called regular objective functions (those which are non-decreasing functions of the jobs’ completion times), optimal schedules are necessarily semi-active. Assuming semi-active schedules reduces the total number of feasible schedules from infinity to a finite (albeit possibly large) number, with each set of resource orderings providing a single semi-active schedule. For this reason, it is common in the scheduling literature to consider only semi-active schedules. Unless otherwise stated, this will also be assumed here.

2.3. Comparing Fuzzy Schedules

The quality of a schedule, ϕ , is usually measured in terms of a performance or cost function, f ϕ , so the objective is to find a schedule that minimises f. When working with fuzzy durations, the cost of a fuzzy schedule, ϕ , becomes a TFN f ^ ϕ , representing the possible values that the cost, f, may take when ϕ is executed.
When the performance of a schedule, ϕ , is given by a TFN f ^ ϕ , the expected value, E [ f ^ ϕ ] , summarises the schedule’s performance in a single crisp value (which allows for comparisons between schedules in the absence of a natural order in the set of TFNs). The quality of a fuzzy schedule ϕ can be further assessed using the measures proposed in [26]. These are concerned, first, with the level of uncertainty in the value f ^ ϕ and, second, with the robustness and accuracy of the fuzzy number f ^ ϕ as a predictor of the actual performance of the schedule when it is executed in a real scenario.

2.3.1. Measures Based on Fuzzy Values

Further insight into a schedule’s quality may be gained by considering, in addition to the expected value of fuzzy numbers, two additional features of a TFN a ^ :
  • The spread (S) of a TFN a ^ , given by
    S ( a ^ ) = a 3 a 1 ,
    is a measure of the level of uncertainty in the TFN. Although uncertainty is unavoidable, a solution with a smaller spread in f ^ ϕ should be preferred.
  • The modal value position (MVP), defined as
    MVP ( a ^ ) = ( a 2 a 1 ) ( a 3 a 2 ) a 3 a 1 ,
    is a number in [ 1 , 1 ] , which is negative when the TFN’s modal value a 2 is to the left of the support’s midpoint, positive when the modal value is to the right of the midpoint, and zero when the TFN is symmetric. It could somehow be seen as a measure of the skewness of the TFN. Values closer to 0 seem preferable in the sense that they are less biased to either optimistic or pessimistic values.

2.3.2. Measures Based on Possible Crisp Realisations

According to the semantics of fuzzy schedules proposed in [49], a fuzzy schedule, ϕ , is an a priori or predictive solution providing a possibility distribution (in the form of TFNs) for the starting times of all operations and, in consequence, for the values of the resulting performance function, f. When operations are actually executed according to the resource assignment and the ordering induced via the schedule, uncertainty is no longer present: for each operation, o, its executed processing time, p ϕ ( o ) , is a crisp value in support of the fuzzy processing time p ^ ϕ ( o ) ; i.e., it is a possible crisp realisation of the fuzzy processing time. The vector of executed processing times, ρ , where ρ ( o ) = p ϕ ( o ) , is a vector of possible realisations of the fuzzy processing times, also called a possible scenario. In consequence, the performance f ϕ ρ of the executed schedule is a crisp value in support of the fuzzy performance f ^ ϕ . Thus, the executed schedule can be seen as the a posteriori realisation of the fuzzy schedule ϕ .
Under these semantics, the quality of the a priori fuzzy schedule can be measured relative to its a posteriori performance in a possible scenario or, more generally, across a set of different possible scenarios. To this end, let S be a set of possible scenarios. We can define the following measures for ϕ :
  • Relative distance to the expected value (RDEV) in a possible scenario:
    RDEV ( ϕ , ρ ) = f ϕ ρ E [ f ^ ϕ ] E [ f ^ ϕ ]
    If this value is negative, that is, the cost in the executed schedule is smaller than expected, it means that the a priori schedule objective function is pessimistic. On the contrary, if RDEV is positive, the a priori schedule could be seen as optimistic. Overall, the smaller the absolute value of RDEV , the closer the predicted performance of the solution to the real performance once the schedule is executed.
  • Used uncertainty (UU) in a set of possible scenarios:
    UU ( ϕ , S ) = max ρ S f ϕ ρ min ρ S f ϕ ρ f ϕ 3 f ϕ 1
    This is a value in [ 0 , 1 ] measuring the proportion of the support of the predicted fuzzy objective function f ^ ϕ that is actually covered across the range of possible scenarios in S . When S is representative enough of all the possible scenarios, a value of UU close to 1 means that the range of values considered as possible by the TFN f ^ ϕ is actually obtainable in real situations. On the other hand, small values of UU would mean that the fuzzy schedule incorporates “artificial” uncertainty by considering possible values of f that are in fact never achieved, thus being less informative.

3. Idle Times with Fuzzy Durations

In a deterministic setting, given a schedule, ϕ , it is trivial to compute core idle time before an operation, o: it suffices to subtract the completion time of its immediate predecessor in the resource RP ϕ ( o ) from the starting time of o. Then, the core idle time for a resource r, CIT ϕ ( r ) , is obtained by adding the core idle time for all the operations assigned to the resource. Equivalently, CIT ϕ ( r ) can be obtained as the difference between the time span since the resource starts processing the first operation until the last operation is finished and the total time spent by the resource executing operations. Finally, the total core idle time, TCIT ϕ , is the sum of core idle times across all resources r R .
Our goal will be to find a schedule minimising the total core idle time. However, extending these definitions to the fuzzy context is not trivial. The cause is the assumption of independence underlying the definition of the fuzzy subtraction, together with the fact that it is not the inverse of the sum (thus losing the equivalence between the two ways of defining the core idle time for a resource).
In the sequel, we propose three different ways of computing the core idle time of a resource, r R , given a fuzzy schedule, ϕ , CIT ^ ϕ ( r ) . In the first two cases, we start by proposing a means to compute the core idle time, I ^ ϕ ( o ) , of every operation, o, scheduled in the resource, r, and we then obtain CIT ^ ϕ ( r ) as the sum of core idle times across all operations executed in r. In the last case, we adopt a less granular approach and define CIT ^ ϕ ( r ) directly as the time span between the starting of the first operation in the resource and the completion of the last operation in the same resource, minus the time spent by the resource processing its operations.

3.1. A Naive Approach

The most straightforward approach to computing the time a resource, r, is idle waiting for an operation, o, under a fuzzy schedule, ϕ , denoted as I ^ ϕ ( o ) , is to subtract the completion time of the operation’s immediate resource predecessor, R P ϕ ( o ) , from the starting time of o. This is a direct translation of how the idle time can be computed in a deterministic setting, and it has been applied several times in the fuzzy scheduling literature [43,44,45]. Taking into account that negative values for idle times are impossible, this translates into the following definition:
I ^ ϕ N ( o ) = ( 0 , 0 , 0 ) if o = α ϕ ( τ ϕ ( o ) ) , max { ( 0 , 0 , 0 ) , s ^ ϕ ( o ) c ^ ϕ ( R P ϕ ( o ) ) } otherwise .
That is, if o is the first operation to be processed in its resource r = τ ϕ ( o ) , the idle time before o is null, and otherwise, it is the difference between the operation’s starting time and its predecessor’s completion time, discounting negative values (which we know are impossible). Then, the core idle time for resource r is given by the sum of idle time for the operations scheduled in r:
CIT ^ ϕ N ( r ) = o O : τ ϕ ( o ) = r I ^ ϕ N ( o )
The problem with this straightforward extension of the deterministic definition is that, as mentioned in Section 2.1, the fuzzy subtraction assumes that the variables involved are non-interactive. Making such an assumption for two consecutive operations in a resource is at least naive and, in most cases, problematic. Indeed, in a feasible schedule, an operation, o, cannot start before its immediate processor is completed, so there is a clear dependence between s ^ ϕ ( o ) and c ^ ϕ ( R P ϕ ( o ) ) . This dependence is highly marked in the case of semi-active schedules, where s ^ ϕ ( o ) is defined in terms of c ^ ϕ ( R P ϕ ( o ) ) , as shown in Equation (11). As a result, computing the idle time for an operation, o, using (16) will most likely result in a quantity with added artificial uncertainty in the sense that many values in its support are actually unattainable. Let us illustrate this with an example:
Let u, v, and w be the only three operations in a schedule ϕ where u, the job predecessor of w, is processed on its own in a resource, while v is the resource predecessor of w in a second resource. Let the processing times of these tasks be p ^ ϕ ( u ) = ( 1 , 2 , 3 ) , p ^ ϕ ( v ) = ( 5 , 6 , 8 ) , and p ^ ϕ ( w ) = ( 1 , 3 , 4 ) . Clearly, if u and v start at instant 0, their completion times are, respectively, c ^ ( u ) = ( 1 , 2 , 3 ) and c ^ ( v ) = ( 5 , 6 , 8 ) . Hence, the completion time of u cannot affect the starting time of w, s ^ ϕ ( w ) , which, for any feasible schedule, must be such that c ^ ( v ) s ^ ( w ) , with an equality for semi-active schedules, i.e., s ^ ( w ) = c ^ ( v ) = ( 5 , 6 , 8 ) . The Gantt chart of the schedule, adapted to TFNs, as proposed in [50], can be seen in Figure 1. Now, if we compute the difference, s ^ ϕ ( w ) c ^ ϕ ( v ) = ( 5 8 , 6 6 , 8 5 ) = ( 3 , 0 , 3 ) . This number is counterintuitive for two reasons. First, allowing for negative idle time values does not make any sense. This is solved by taking the maximum with, ( 0 , 0 , 0 ) ; so, according to (16), the idle time for w is I N ( w ) = ( 0 , 0 , 3 ) . We depict the resulting TFN in Figure 1b, where the dashed line represents the negative side that is removed, with the area under the membership function for I N ( w ) shaded in grey. The second reason is that common sense dictates that the idle time between two contiguous operations should be zero, as the absence of a gap between v and w in Figure 1 illustrates, but even after eliminating negative values, I N ( w ) considers as possible idle times as large as 3. The source of these issues is the wrong underlying assumption that s ^ ( w ) and c ^ ( v ) are independent; so, for instance, s ( w ) could be 5 when c ( v ) is 8 (even if we know this is impossible in a feasible schedule). That is, the independence assumption introduces artificial uncertainty in the resulting difference.

3.2. An Approach Incorporating Schedule Knowledge

If we consider again the previous example, the problem stems from the fact that s ^ ϕ ( w ) and c ^ ϕ ( v ) are linked variables. Indeed, the starting time of w is computed according to Equation (11); that is, s ^ ϕ ( w ) = max { c ^ ϕ ( u ) , c ^ ϕ ( v ) } . Substituting in the difference component of the idle time (16),
s ^ ϕ ( w ) c ^ ϕ ( v ) = max { c ^ ϕ ( u ) , c ^ ϕ ( v ) } c ^ ϕ ( v ) .
Now, given the way in which the difference and the maximum are defined in (3) and (4), we can rearrange the elements in this equation, so
I ^ ϕ N ( w ) = max { ( 0 , 0 , 0 ) , c ^ ϕ ( u ) c ^ ϕ ( v ) , c ^ ϕ ( v ) c ^ ϕ ( v ) } .
Of course, in a fuzzy schedule, c ^ ϕ ( v ) is an uncertain quantity, but we know that the underlying variable cannot take two different values in the same schedule, so, in this context, c ^ ϕ ( v ) c ^ ϕ ( v ) must be ( 0 , 0 , 0 ) , which means that the idle time for w should, in fact, be equal to max { ( 0 , 0 , 0 ) , c ^ ϕ ( u ) c ^ ϕ ( v ) } .
Notice that this expression makes sense from the scheduling point of view since it means that the idle time is the time difference between the completion time of the job predecessor and the resource predecessor, i.e., the time the resource has to wait once it has finished processing the resource predecessor of operation, o, until the other predecessor of o is completed. This suggests an alternative definition of the idle time of an operation, o, which takes into account our knowledge of schedules:
I ^ ϕ K ( o ) = ( 0 , 0 , 0 ) if η ( o ) = min { η ( u ) : χ ( u ) = χ ( o ) } o = α ϕ ( τ ϕ ( o ) ) τ ϕ ( J P ( o ) ) = τ ϕ ( R P ( o ) ) max { ( 0 , 0 , 0 ) , c ^ ϕ ( J P ( o ) ) c ^ ϕ ( R P ϕ ( o ) ) } otherwise
That is, in general, we take the idle time for o to be the difference between the completion times of its predecessors in the resource and the job (discounting negative values), with three exceptions. In the case that o is either the first operation in its job or the first operation to be processed in its resource, the idle time will be ( 0 , 0 , 0 ) . Additionally, unlike in the traditional job shop, in the flexible variant, it is possible that both the resource and the job predecessor are executed in the same resource, that is, τ ϕ ( J P ( o ) ) = τ ϕ ( R P ( o ) ) ; due to resource constraints, one must be executed before the other, and operation o can thus start as soon as the latest predecessor is completed, resulting in no idle time.
Once the idle time for an operation is defined, the core idle time for resource r is again given by the sum of idle time for the operations scheduled in r:
CIT ^ ϕ K ( r ) = o O : τ ϕ ( o ) = r I ^ ϕ K ( o )
Let us go back to the toy example of Section 3.1; if the idle time of operation w is computed using (18), we have I ^ ϕ K ( w ) = max { ( 1 30 , 2 25 , 3 20 ) , ( 0 , 0 , 0 ) } = ( 0 , 0 , 0 ) . This results in a TFN without added artificial uncertainty, as expected.

3.3. A Coarser Approach

Both the expressions from (17) and (19) correspond to a fine-grained approach where idle times are computed for each operation, and then they are aggregated to obtain the resource core idle time. However, it is sometimes the case that individual idle times for operations are of no interest, and only the resource idle time as a whole is necessary. In these situations, where not so much granularity is necessary, it is possible to compute the core idle time for resource r in a coarser manner, as follows:
CIT ^ ϕ C ( r ) = ( 0 , 0 , 0 ) if { o O : τ ϕ ( o ) = r } = max { ( 0 , 0 , 0 ) , c ^ ϕ ( ω ϕ ( r ) ) s ^ ϕ ( α ϕ ( r ) ) W ^ ϕ ( r ) } otherwise .
where
W ^ ϕ ( r ) = o O : τ ϕ ( o ) = r p ^ ϕ ( o )
is the workload for resource r, that is, the time in which it is active processing operations, defined as the sum of the processing times of all operations assigned to the resource.
The rationale behind this expression, assuming that at least one operation is scheduled in resource r, is to calculate the time span between the starting time of the first operation to be processed in the resource and the completion time of the last operation in that resource and then subtract the total time in which the resource is actually active. Again, we discount negative values, which we know are not possible, and the result will be the core idle time of the resource.

3.4. The Total Core Idle Time

Regardless of how the core idle time, CIT ^ ϕ ( r ) , for each resource, r R , is computed, the total core idle time of a schedule is obtained as the sum across all resources of their core idle time:
TCIT ^ ϕ = r R CIT ^ ϕ ( r ) .
We may add a superscript, N , K , C , if we want to highlight that this function is computed using (17), (19), or (20), respectively.
Let us illustrate the three different ways in which CIT ^ can be computed with a toy example. Suppose that we have the schedule ϕ depicted in Figure 2, comprising eight operations scheduled in three resources. To represent the different values of the operations in the schedule, we will use grids as the following:
o 2 o 8 o 1 o 7 o 5 o 4 o 6 o 3
where each row corresponds to the operations scheduled in a resource. This way, the processing times of operations are as follows:
( 30 , 30 , 40 ) ( 10 , 10 , 10 ) ( 20 , 30 , 40 ) ( 10 , 20 , 30 ) ( 35 , 40 , 40 ) ( 15 , 20 , 30 ) ( 20 , 20 , 40 ) ( 10 , 30 , 30 )
Their starting times are given by the following:
( 20 , 30 , 40 ) ( 50 , 60 , 100 ) ( 0 , 0 , 0 ) ( 35 , 40 , 70 ) ( 45 , 60 , 100 ) ( 0 , 0 , 0 ) ( 15 , 20 , 30 ) ( 50 , 60 , 80 )
And their completion times are given by:
( 50 , 60 , 80 ) ( 60 , 70 , 110 ) ( 20 , 30 , 40 ) ( 45 , 60 , 100 ) ( 80 , 100 , 140 ) ( 15 , 20 , 30 ) ( 35 , 40 , 70 ) ( 60 , 90 , 110 )
If we compute operations’ idle times, I ^ ϕ N , using the naive approach from (16), we obtain the following values:
( 0 , 0 , 0 ) ( 0 , 0 , 50 ) ( 0 , 0 , 0 ) ( 0 , 10 , 50 ) ( 0 , 0 , 55 ) ( 0 , 0 , 0 ) ( 0 , 0 , 15 ) ( 0 , 20 , 45 )
This results in resource core idle times CIT ^ ϕ N ( r 1 ) = ( 0 , 0 , 50 ) , CIT ^ ϕ N ( r 2 ) = ( 0 , 10 , 105 ) , and CIT ^ ϕ N ( r 3 ) = ( 0 , 20 , 60 ) and, thus, a total core idle time,
TCIT ^ ϕ N = ( 0 , 30 , 215 ) .
If operation idle times are instead computed with the knowledge-based approach, as proposed in (18), we obtain the following values of I ^ ϕ K for all operations:
( 0 , 0 , 0 ) ( 0 , 0 , 50 ) ( 0 , 0 , 0 ) ( 0 , 10 , 50 ) ( 0 , 0 , 0 ) ( 0 , 0 , 0 ) ( 0 , 0 , 0 ) ( 0 , 20 , 45 )
These yield resource core idle times CIT ^ ϕ K ( r 1 ) = ( 0 , 0 , 50 ) , CIT ^ ϕ K ( r 2 ) = ( 0 , 10 , 50 ) , and CIT ^ ϕ K ( r 3 ) = ( 0 , 20 , 45 ) , so the total core idle time will be
TCIT ^ ϕ K = ( 0 , 30 , 145 ) .
Finally, using the coarse approach to directly compute the core idle time of resources as per (20), we obtain CIT ^ ϕ C ( r 1 ) = ( 0 , 0 , 50 ) , CIT ^ ϕ C ( r 2 ) = ( 0 , 10 , 75 ) , and CIT ^ ϕ C ( r 3 ) = ( 0 , 20 , 65 ) . Then, the total core idle time according to this method is
TCIT ^ ϕ C = ( 0 , 30 , 190 ) .
We can appreciate how, unlike the deterministic case, in the fuzzy framework, each approach yields a different value for TCIT ^ . The three different TFNs can be seen in Figure 3. It is clear that the support (and, hence, the spread) of the resulting TFN is different in each case. Given their definitions, it is guaranteed that the spread of TCIT ^ ϕ K will always be less than or equal to the spread of TCIT ^ ϕ N , i.e., computing the total core idle time with the knowledge-based approach accumulates less uncertainty, as illustrated by the example. In this particular case, the spread for TCIT ^ ϕ C is also larger than the one for TCIT ^ ϕ K . However, it is not guaranteed that this will always be so, as shown in the experimental results in Section 4. The example also illustrates that the modal value of TCIT ^ ϕ is always the same, regardless of the approach used to compute it. This is a direct consequence of how arithmetic operations are performed on TFNs. Finally, notice how, by truncating negative values, in all three cases, uncertainty accumulates towards the right-hand side, resulting in skewed TFNs.

4. Results

The objective of the experimental study is to empirically assess the three different approaches introduced in Section 3 in order to compute the total core idle time for fuzzy schedules. We will use 12 benchmark instances from the literature [25]: 07a, 08a, 09a, 10a, 11a, and 12a with 15 jobs, 8 resources, and 293 operations (denoted as 15 × 8 × 293 in the following) and 13a, 14a, 15a, 16a, 17a, and 18a of size 20 × 10 × 387 . In instances 07a, 08a, 09a, 13a, 14a, and 15a, operations have the same processing time, regardless of the resources where they are executed, while instances 10a, 11a, 12a, 16a, 17a, and 18a have resource-dependent processing times. There are also three increasing flexibility levels, with 07a, 10a, 13a, and 16a being those instances with the lowest flexibility and 09a, 12a, 15a and 18a being those instances with the highest flexibility.
The study follows the methodology proposed in [26]. For each instance, schedules will be generated and compared in terms of their performance regarding TCIT ^ using first the measures introduced in Section 2.3.1 and then those introduced in Section 2.3.2. In both cases, this will be done with two types of experiments: over random solutions and with solutions obtained with a search algorithm. The goal of the random-solution experiments is to evaluate the three alternatives for computing TCIT ^ without the possible bias that may be introduced via any solver, whereas the searched-solution experiments pretend to compare the three models when embedded in a search algorithm, with the objective of evaluating their capability of guiding the search towards good schedules. In both sets of experiments, 100 schedules are obtained per instance; notice that, for the searched-solution comparisons, this means generating 100 schedules for each of the three models ( TCIT ^ N , TCIT ^ K , and TCIT ^ C ) under consideration.
As a solution method for the searched-solution comparisons, we employ the tabu search algorithm proposed in [51] for the classical job shop, extending the neighbourhood function so that every operation is moved to all feasible positions both in its current resource and in others where it can be executed. This is probably the most naive neighbourhood available, as it tries to reschedule every operation in every position, but at the same time, it ensures connectivity and is agnostic to the models, minimising their influence on the results. At every iteration, a tabu search generates all possible neighbours and selects the best one that is not tabu. Then, it stores the inverse of the move performed to obtain the selected neighbour in a memory structure, called the tabu list, so, in the next iterations, that move is forbidden, thus avoiding the undoing of recently made moves. In this way, the tabu search is able to escape local optima. In addition, the tabu list also serves as a diversification mechanism, as different movements are encouraged. A detailed pseudocode can be found in Figure A1. The tabu search parameters are set to the values used in [26] for the same set of instances. This algorithm will be used in all experiments, with the only change being the objective function, which will vary in order to test the different proposals.

4.1. Comparisons Based on Fuzzy TCIT Values

As mentioned in Section 2.3.1, fuzzy TCIT values can be compared in terms of their expected value, their spread, S, and their modal value position, M V P .
Figure 4 shows the average E [ TCIT ^ ] values obtained for each instance in the two types of experiments. Figure 4a corresponds to the average values obtained when evaluating the random schedules with the three models for computing TCIT ^ . Figure 4b depicts average values obtained when evaluating the schedules obtained with the tabu search using each of the three models. In both experiments, there is clearly a difference between the three methods for computing the fuzzy TCIT: TCIT ^ C yields better average expected values than TCIT ^ K , and this, in turn, yields better values than TCIT ^ N .
Furthermore, for the random solutions experiment, the variation in the expected value seems to depend only on the problem size and not on the flexibility level, as illustrated by the flat lines. This makes sense since, the larger the number of operations, the larger the number of possible gaps, and, as they are not optimised in any way, the longer the total idle time. However, for the searched-solution experiment, differences exist depending not only on the instance size but also on the flexibility level. This may be because greater flexibility provides the search algorithm with more opportunities to move operations between resources and fill inactivity gaps, thus reducing the total core idle time. It is remarkable that, here, TCIT ^ K seems to yield better improvements when greater flexibility is introduced, coming closer to TCIT ^ C . On the other hand, the improvement of the naive approach TCIT ^ N does not seem to be as pronounced when flexibility increases. Also, TCIT ^ K expected values are significantly higher than TCIT ^ C . This is expected because, although TCIT ^ K has been defined to reduce artificial uncertainty due to dependencies between operations, there are still relations that we cannot easily account for. Thus, the sum of idle times between operations, that is the sum of multiple subtractions, is going to have predictably more artificial uncertainty than the coarser approach, which only makes one subtraction, as the results demonstrate.
When the spread is considered, the obtained graphs are very similar. The reason is that, in these benchmark instances, operations have similar-magnitude processing times with different values for each of the three components of the TFNs. As computing starting times according to Equation (11) are accumulative, the greater the number of already-scheduled operations, the larger the expected value of the TFN and the difference between the first and third components. Then, as the subtraction according to Equation (3) is computed by crossing the value of the lower and upper values of the two TFNs involved, it is predictable that larger expected values also mean larger spread values.
Finally, Figure 5 shows the M V P values obtained in the experiments. Notice that, both in the random solutions and the searched solutions experiments, M V P is negative, meaning that the modal point is situated to the left of the support’s midpoint; i.e., the TFNs are skewed to the right. The main reason for this behaviour is that, in all functions, we are removing negative values because negative times are not possible, but this trimming will only take place on the left side of TFNs. Also, notice that, in the searched-solution experiments, the absolute value of M V P is closer to −1 compared to the random solutions. This is because better solutions mean smaller gaps between operations in the same resource, and then, the probability for the predecessor in the resource being the operation defining the starting time is higher, introducing a dependency between these operations that increases the chances of having negative numbers for idle times. However, the conclusion should not be that being closer to 1 is better. The reason is that the processing times of operations are almost symmetrical, but TCIT ^ does not maintain this symmetry, which means that we are accumulating artificial uncertainty on one of the sides. Notice that this effect is aggravated when there is higher flexibility, and that it is much more pronounced for TCIT ^ C . This phenomenon can be illustrated as follows. Suppose that, during the tabu search, there is a resource where an operation can be scheduled without altering the starting time of the first operation already scheduled in the resource or the completion time of the last operation in the resource. Then, the minuend in (20) (i.e., the time span between the start of the first operation and the end of the last one) is not altered, while the subtrahend, the sum of processing times of operations assigned to the resource, grows. In consequence, the first component of the difference will be smaller, more likely negative, and, therefore, more likely to be truncated to 0, resulting in a TFN more skewed to the right. When the flexibility level is low, so is the possibility of moving operations to a different resource, while higher flexibility increases the options to move operations between resources, leading to the described behaviour.

4.2. Comparisons Based on Crisp Scenarios

We now evaluate the three models for computing TCIT ^ using the measures described in Section 2.3.2. To this end, we will use a unique set of 1000 crisp possible scenarios, S , derived from the fuzzy instances. These scenarios are generated by setting the processing time of every operation in each allowed resource to a random value derived from a uniform distribution in support of the TFNs.
Figure 6 shows, for each instance, the average R D E V across all scenarios in S , both for the random and searched solutions experiments. Clearly, both the results obtained with TCIT ^ K and TCIT ^ C on the crisp scenarios are closer to the predicted expected value than those obtained with TCIT ^ N . Those obtained via the coarser approach are the closest to the expected value, evidencing the lower amount of artificial uncertainty that it introduces. One remarkable detail, when comparing random- and searched-solution cases for TCIT ^ C , is that, in the random-solution experiment, the relative distance values are positive; i.e., the TCIT values obtained with the executed schedules are, on average, larger than expected. In other words, the predicted estimate provided via TCIT ^ C is slightly optimistic. However, when integrated into the tabu search, the relative deviation becomes negative. As was the case with M V P , this can be explained because truncating negative values (which are more likely after an improving local search move) cause the TCIT ^ to be skewed to the right, with a subsequent deviation in the expected values.
Finally, Figure 7 depicts the results obtained when considering the used uncertainty measure, U U . For random solutions, there is no difference in U U with different flexibility levels. However, in the case of searched solutions, there exist interesting differences between the three approaches. In the case of TCIT ^ K , increasing flexibility also causes the used uncertainty to increase. However, for TCIT ^ N , increasing flexibility does not make any difference in either the random or searched solutions. The case of TCIT ^ C is even more curious, as the initial increase in flexibility allows for higher U U , but adding more flexibility can even cause the U U values to decrease. Also, notice that the U U values are quite small. This is because a wider use of the support TCIT ^ would require most crisp realisations for the processing times to be extreme values in the support of each TFN representing processing times, which would contradict the possibility distribution given by each TFN.
In addition to the above assessment, we can also evaluate the crisp TCIT that is obtained with the schedules obtained using the tabu search with each model for computing TCIT ^ . The objective is to assess the TCIT that can be obtained according to simulations, rather than using a central tendency measure such as the expected value, which, as we have seen, can be deviated due to the artificial uncertainty that is introduced. Figure 8 shows the average executed TCIT across the 1000 crisp scenarios and the 100 different schedules.
These results show a completely different behaviour with respect to the one observed when comparing based on the fuzzy values. It seems that, according to simulations, in those instances with less flexibility, TCIT ^ N seems to work better than TCIT ^ K ; however, as flexibility increases, making the problems harder, TCIT ^ K takes the lead. There is no clear explanation for this behaviour other than that instances with less flexibility allow to make very few moves between resources, so most moves in the tabu search are limited to reordering of operations in one resource, and then having less artificial uncertainty in the idle times does not suppose a big advantage, as there would be few chances to find an operation that fills the gap. Meanwhile, TCIT ^ N involves higher artificial uncertainty that skews TFNs more to the right, which means a higher deviation towards the worst case, which, for this set of instances, seems to be a beneficial trait in the guiding function for lower-flexibility cases. In any case, TCIT ^ C remains the dominating alternative and the better approach when the problem at hand does not require computing idle times at the operation level.

5. Conclusions and Future Work

In this work, we have considered the fuzzy flexible job shop scheduling problem, with a focus on computing idle times. We have illustrated the difficulties inherent to computing idle times in the fuzzy framework, caused by operating with interactive uncertain variables. Starting from a naive definition of idle time before an operation from the literature, we have proposed an alternative way to compute such idle time that takes into account existing knowledge about schedules. These two means of computing idle times before operations yield two different ways of computing the core idle time of a resource and, by extension, the total core idle time of a schedule. Additionally, we have proposed a way of directly computing the core idle time in a resource (and, hence, the total core idle time of a schedule) for those cases where not that much granularity is necessary. We have argued that, although, in the deterministic setting, all three of these approaches are equivalent and yield the same value for the total core idle time in a schedule, that is not the case in the fuzzy setting. We finally conducted an experimental study to empirically evaluate the three ways of computing idle times in fuzzy schedules. We have seen how both the new proposals from this work seem superior to the naive means of calculating idle times that exist in the literature. On the other hand, neither of the two new proposals can be thought of as being superior to the other one. Moreover, the choice of which to use is heavily dependent on the particular application context. The knowledge-based approach from Section 3.2 allows fine-grained calculations at the operation level, whereas the coarser approach from Section 3.3 is adequate if only calculations at the resource level are needed.
We hope that our proposals provide a solid basis for future research tackling fuzzy flexible job shop problems where idle times play an important role. Additionally, it would be trivial to extend our new approach to computing waiting times for jobs or to adapt them to computing both idle and waiting times in other fuzzy scheduling problems. In particular, being able to compute idle times between operations in fuzzy schedules is crucial to tackling all of those problems that comprise time-of-use tariffs, i.e., problems in which the offer of energy or its cost varies over time.

Author Contributions

Conceptualization, P.G.G., C.R.V. and I.G.-R.; methodology, P.G.G., C.R.V. and I.G.-R.; software, P.G.G.; validation, P.G.G., C.R.V. and I.G.-R.; formal analysis, P.G.G., C.R.V. and I.G.-R.; investigation, P.G.G.; data curation, P.G.G.; writing—original draft preparation, P.G.G.; writing—review and editing, C.R.V. and I.G.-R.; visualization, P.G.G.; supervision, C.R.V. and I.G.-R.; funding acquisition, C.R.V. and I.G.-R. All authors have read and agreed to the published version of the manuscript.

Funding

This research was funded by the Spanish Government with grant numbers TED2021-131938B-I00 and PID2022-141746OB-I00 and by Universidad de Cantabria and the Government of Cantabria under Grant Concepción Arenal UC-20-20.

Data Availability Statement

The original contributions presented in this study are included in the article. Further inquiries can be directed to the corresponding author.

Conflicts of Interest

The authors declare no conflicts of interest.

Appendix A. Detailed Results

Table A1. Detailed results for the E [ TCIT ^ ] .
Table A1. Detailed results for the E [ TCIT ^ ] .
Instance TCIT ^ N TCIT ^ K TCIT ^ C
Random Searched Random Searched Random Searched
Mean Std Mean Std Mean Std Mean Std Mean Std Mean Std
07a46,763426220,24795434478339814,014115717,28222533380484
08a46,965340614,43581534,2092715640461517,38518561525164
09a47,658398412,77767434,6243161381943117,72920121251112
10a45,956412519,562100633,999332013,302101817,05921993330563
11a45,682366714,02982733,2672882593260017,19418551530211
12a46,672383112,93171133,8873027381737417,4101975126495
13a66,132508825,379134848,515396117,009133724,33524914260608
14a65,062613118,45397847,2184750783970323,80330671755164
15a65,772534017,420117947,9124136404756724,4912643148598
16a65,485531325,418118648,093410317,335130024,02424754156645
17a64,342641018,45283146,7135004795575923,43429831769160
18a64,947481217,077107247,3163748393853824,13625781550110
Table A2. Detailed results for the spread.
Table A2. Detailed results for the spread.
Instance TCIT ^ N TCIT ^ K TCIT ^ C
Random Searched Random Searched Random Searched
Mean Std Mean Std Mean Std Mean Std Mean Std Mean Std
07a147,83812,31471,084335498,697900643,995336011,1615487159544
08a148,281985252,516308397,256746220,676189211,0774754587266
09a150,12111,51647,423277797,983856912,827141811,1625224156194
10a144,56711,71168,639336896,738862541,679304411,2195457129617
11a143,27611,09751,291310693,616823419,043192110,7784954580334
12a146,89611,07047,933295095,753818812,874120710,9094914198198
13a209,34015,21488,9314530138,87111,10451,855375614,6226838788725
14a205,67517,72067,6403858134,29812,54125,274203614,4937685620276
15a207,03616,89565,0274837135,59512,57113,478183714,7597795194182
16a207,28416,04889,2513902137,71611,50153,483409414,7027128764798
17a203,56719,02468,1113237133,05313,76625,875239014,4078225680261
18a204,51314,62963,5744407133,99010,86012,989175714,5506695387213
Table A3. Detailed results for the M V P .
Table A3. Detailed results for the M V P .
Instance TCIT ^ N TCIT ^ K TCIT ^ C
Random Searched Random Searched Random Searched
Mean Std Mean Std Mean Std Mean Std Mean Std Mean Std
07a−0.8050.016−0.8730.014−0.7070.027−0.7590.029−0.0930.014−0.2000.070
08a−0.8050.017−0.9020.013−0.7010.030−0.7700.040−0.0880.017−0.6740.071
09a−0.8050.015−0.9230.012−0.7000.028−0.8120.042−0.1000.018−0.7980.060
10a−0.8060.015−0.8740.015−0.7100.025−0.7590.026−0.0800.015−0.2080.080
11a−0.8020.018−0.9080.015−0.6970.032−0.7660.045−0.0960.016−0.6700.090
12a−0.8040.014−0.9210.012−0.6990.027−0.8160.045−0.0940.016−0.7970.048
13a−0.8050.014−0.8710.013−0.7060.025−0.7260.031−0.0970.017−0.2210.077
14a−0.8090.015−0.9090.013−0.7070.026−0.7660.041−0.0900.017−0.7530.063
15a−0.8040.016−0.9280.011−0.7000.031−0.8010.047−0.0960.017−0.8570.046
16a−0.8070.013−0.8720.014−0.7090.023−0.7400.023−0.0930.014−0.2510.082
17a−0.8110.014−0.9170.011−0.7100.026−0.7760.040−0.0960.016−0.7560.059
18a−0.8050.016−0.9250.011−0.7020.030−0.7890.053−0.0930.014−0.8500.049
Table A4. Detailed results for the R D E V .
Table A4. Detailed results for the R D E V .
Instance TCIT ^ N TCIT ^ K TCIT ^ C
Random Searched Random Searched Random Searched
Mean Std Mean Std Mean Std Mean Std Mean Std Mean Std
07a−0.6250.024−0.7560.024−0.4920.033−0.5820.0390.0160.014−0.0180.052
08a−0.6250.023−0.8190.023−0.4840.034−0.6120.0560.0150.015−0.3210.088
09a−0.6220.021−0.8570.022−0.4800.032−0.6760.0620.0170.014−0.4490.099
10a−0.6250.023−0.7560.025−0.4920.030−0.5790.0380.0140.014−0.0260.055
11a−0.6180.024−0.8270.025−0.4750.036−0.6050.0610.0160.014−0.3310.104
12a−0.6220.021−0.8540.021−0.4780.032−0.6820.0620.0160.014−0.4460.091
13a−0.6260.019−0.7540.021−0.4910.029−0.5380.0400.0160.013−0.0200.054
14a−0.6290.022−0.8330.022−0.4890.032−0.6120.0570.0150.014−0.3840.093
15a−0.6220.023−0.8670.019−0.4810.035−0.6630.0680.0160.013−0.5100.094
16a−0.6280.018−0.7570.021−0.4930.026−0.5560.0310.0160.013−0.0210.056
17a−0.6310.020−0.8460.019−0.4910.031−0.6270.0540.0160.013−0.3970.092
18a−0.6230.022−0.8630.019−0.4820.034−0.6530.0740.0160.013−0.5070.092
Table A5. Detailed results for the U U (%).
Table A5. Detailed results for the U U (%).
Instance TCIT ^ N TCIT ^ K TCIT ^ C
Random Searched Random Searched Random Searched
Mean Std Mean Std Mean Std Mean Std Mean Std Mean Std
07a0.810.100.900.121.220.161.530.2010.751.208.721.29
08a0.830.111.010.151.260.182.520.3611.041.4610.491.45
09a0.790.091.010.141.220.153.630.5210.671.2110.481.39
10a0.820.110.910.111.230.171.660.2310.541.398.661.19
11a0.810.101.000.121.240.162.730.4010.751.2510.101.36
12a0.780.091.010.141.200.143.480.5110.531.1710.481.61
13a0.750.100.870.111.130.161.660.2210.721.408.931.37
14a0.750.090.920.111.140.142.660.4610.561.2610.211.29
15a0.770.100.870.131.170.164.050.6610.711.259.901.26
16a0.750.100.860.121.130.151.570.1910.531.258.791.22
17a0.740.100.920.131.130.162.600.3410.401.339.621.34
18a0.750.100.920.141.150.164.020.6610.571.319.651.33
Table A6. Detailed results for the crisp values.
Table A6. Detailed results for the crisp values.
Instance TCIT ^ N TCIT ^ K TCIT ^ C
Random Searched Random Searched Random Searched
Mean Std Mean Std Mean Std Mean Std Mean Std Mean Std
07a17,5592283493657417,5592283587685317,55922833335594
08a17,6501877261836917,6501877249548817,65018771044227
09a18,0282051182126118,0282051124330418,0282051696172
10a17,2972213478560917,2972213561573717,29722133265679
11a17,4701881242838217,4701881235247117,47018811041289
12a17,6932007187824117,6932007121930117,6932007704147
13a24,7222525625871324,72225257884106324,72225254197766
14a24,1623094307440224,1623094305862624,16230941091239
15a24,8772685230228524,8772685137237124,8772685732172
16a24,3992513617469924,3992513770478224,39925134092811
17a23,8083015284135823,8083015298358223,80830151077242
18a24,5082609232528324,5082609137438824,5082609771180

Appendix B. Pseudocode

Figure A1. Tabu search pseudocode.
Figure A1. Tabu search pseudocode.
Algorithms 18 00137 g0a1

References

  1. Baker, K.; Trietsch, D. Principles of Sequencing and Scheduling, 2nd ed.; Wiley Series in Operations Research and Management Science; Wiley: Hoboken, NJ, USA, 2019. [Google Scholar]
  2. Pinedo, M.L. Scheduling. Theory, Algorithms, and Systems, 6th ed.; Springer: Berlin/Heidelberg, Germany, 2022. [Google Scholar] [CrossRef]
  3. Corsini, R.R.; Costa, A.; Fichera, S.; Parrinello, V. Hybrid Harmony Search for Stochastic Scheduling of Chemotherapy Outpatient Appointments. Algorithms 2022, 15, 424. [Google Scholar] [CrossRef]
  4. Ghafari, R.; Kabutarkhani, F.H.; Mansouri, N. Task scheduling algorithms for energy optimization in cloud environment: A comprehensive review. Clust. Comput. 2022, 25, 1035–1093. [Google Scholar] [CrossRef]
  5. Guo, W.; Xu, P.; Zhao, Z.; Wang, L.; Zhu, L.; Wu, Q. Scheduling for airport baggage transport vehicles based on diversity enhancement genetic algorithm. Nat. Comput. 2020, 19, 663–672. [Google Scholar] [CrossRef]
  6. Tarazona-Torres, L.; Amaya, C.; Paipilla, A.; Gomez, C.; Alvarez-Martinez, D. The Parallel Machine Scheduling Problem with Different Speeds and Release Times in the Ore Hauling Operation. Algorithms 2024, 17, 348. [Google Scholar] [CrossRef]
  7. Teoh, C.K.; Wibowo, A.; Ngadiman, M.S. Review of state of the art for metaheuristic techniques in Academic Scheduling Problems. Artif. Intell. Rev. 2015, 44, 1–21. [Google Scholar] [CrossRef]
  8. Xiong, H.; Shi, S.; Ren, D.; Hu, J. A survey of job shop scheduling problem: The types and models. Comput. Oper. Res. 2022, 142, 105731. [Google Scholar] [CrossRef]
  9. Xie, J.; Gao, L.; Peng, K.; Li, X.; Li, H. Review on flexible job shop scheduling. IET Collab. Intell. Manuf. 2019, 1, 67–77. [Google Scholar] [CrossRef]
  10. Dauzère-Pérès, S.; Ding, J.; Shen, L.; Tamssaouet, K. The flexible job shop scheduling problem: A review. Eur. J. Oper. Res. 2024, 314, 409–432. [Google Scholar] [CrossRef]
  11. Chen, J.C.; Wu, C.C.; Chen, C.W.; Chen, K.H. Flexible job shop scheduling with parallel machines using Genetic Algorithm and Grouping Genetic Algorithm. Expert Syst. Appl. 2012, 39, 10016–10021. [Google Scholar] [CrossRef]
  12. Alvarez-Valdes, R.; Fuertes, A.; Tamarit, J.; Giménez, G.; Ramos, R. A heuristic to schedule flexible job-shop in a glass factory. Eur. J. Oper. Res. 2005, 165, 525–534. [Google Scholar] [CrossRef]
  13. Bakon, K.; Holczinger, T.; Sule, Z.; Jasko, S. Scheduling Under Uncertainty for Industry 4.0 and 5.0. IEEE Access 2022, 10, 74977–75017. [Google Scholar] [CrossRef]
  14. Prade, H. Using fuzzy set theory in a scheduling problem: A case study. Fuzzy Sets Syst. 1979, 2, 153–165. [Google Scholar] [CrossRef]
  15. Chanas, S.; Kamburowski, J. The use of fuzzy variables in pert. Fuzzy Sets Syst. 1981, 5, 11–19. [Google Scholar] [CrossRef]
  16. Dubois, D.; Fargier, H.; Fortemps, P. Fuzzy Scheduling: Modelling flexible constraints vs. coping with incomplete knowledge. Eur. J. Oper. Res. 2003, 147, 231–252. [Google Scholar] [CrossRef]
  17. Azadegan, A.; Porobic, L.; Ghazinoory, S.; Samouei, P.; Kheirkha, A.S. Fuzzy logic in manufacturing: A review of literature and a specialized application. Int. J. Prod. Econ. 2011, 132, 258–270. [Google Scholar] [CrossRef]
  18. Alburaikan, A.; Garg, H.; Khalifa, H.A.E.W. A Novel Approach for Minimizing Processing Times of Three-Stage Flow Shop Scheduling Problems Under Fuzziness. Symmetry 2023, 15, 130. [Google Scholar] [CrossRef]
  19. Ptuskin, A.; Levner, E.; Kats, V. Cyclic multi-hoist scheduling with fuzzy processing times in flexible manufacturing lines. Appl. Soft Comput. 2024, 165, 112014. [Google Scholar] [CrossRef]
  20. Abdullah, S.; Abdolrazzagh-Nezhad, M. Fuzzy Job-Shop Scheduling Problems: A Review. Inf. Sci. 2014, 278, 380–407. [Google Scholar] [CrossRef]
  21. Behnamian, J. Survey on fuzzy shop scheduling. Fuzzy Optim. Decis. Mak. 2016, 15, 331–366. [Google Scholar] [CrossRef]
  22. Campo, E.A.; Cano, J.A.; Gómez-Montoya, R.; Rodríguez-Velásquez, E.; Cortés, P. Flexible Job Shop Scheduling Problem with Fuzzy Times and Due-Windows: Minimizing Weighted Tardiness and Earliness Using Genetic Algorithms. Algorithms 2022, 15, 334. [Google Scholar] [CrossRef]
  23. Abdel-Basset, M.; Mohamed, R.; El-Shahat, D.; Sallam, K. An efficient hybrid optimization method for Fuzzy Flexible Job-Shop Scheduling Problem: Steady-state performance and analysis. Eng. Appl. Artif. Intell. 2023, 123, 106249. [Google Scholar] [CrossRef]
  24. Li, R.; Gong, W.; Lu, C. Self-adaptive multi-objective evolutionary algorithm for flexible job shop scheduling with fuzzy processing time. Comput. Ind. Eng. 2022, 168, 108099. [Google Scholar] [CrossRef]
  25. García Gómez, P.; González-Rodríguez, I.; Vela, C.R. Enhanced memetic search for reducing energy consumption in fuzzy flexible job shops. Integr. Comput.-Aided Eng. 2023, 30, 151–167. [Google Scholar] [CrossRef]
  26. García Gómez, P.; Vela, C.R.; González-Rodríguez, I. Neighbourhood search for energy minimisation in flexible job shops under fuzziness. Nat. Comput. 2023, 22, 685–704. [Google Scholar] [CrossRef]
  27. Pan, Z.; Lei, D.; Wang, L. A Bi-Population Evolutionary Algorithm with Feedback for Energy-Efficient Fuzzy Flexible Job Shop Scheduling. IEEE Trans. Syst. Man Cybern. Syst. 2022, 52, 5295–5307. [Google Scholar] [CrossRef]
  28. Shi, D.; Zhang, B.; Li, Y. A Multi-Objective Flexible Job-Shop Scheduling Model Based on Fuzzy Theory and Immune Genetic Algorithm. Int. J. Simul. Model. 2020, 19, 123–133. [Google Scholar] [CrossRef]
  29. Chen, X.l.; Li, J.Q.; Du, Y. A hybrid evolutionary immune algorithm for fuzzy flexible job shop scheduling problem with variable processing speeds. Expert Syst. Appl. 2023, 233, 120891. [Google Scholar] [CrossRef]
  30. Wang, Z.; Liao, W.; Zhang, Y. Rescheduling optimisation of sustainable multi-objective fuzzy flexible job shop under uncertain environment. Int. J. Prod. Res. 2024, 62, 8904–8920. [Google Scholar] [CrossRef]
  31. Gen, M.; Lin, L.; Ohwada, H. Advances in Hybrid Evolutionary Algorithms for Fuzzy Flexible Job-shop Scheduling: State-of-the-Art Survey. In Proceedings of the 13th International Conference on Agents and Artificial Intelligence (ICAART 2021), Online, 4–6 February 2021; Volume 1, pp. 562–573. [Google Scholar] [CrossRef]
  32. Maassen, K.; Perez-Gonzalez, P.; Günther, L.C. Relationship between common objective functions, idle time and waiting time in permutation flow shop scheduling. Comput. Oper. Res. 2020, 121, 104965. [Google Scholar] [CrossRef]
  33. Alfieri, A.; Garraffa, M.; Pastore, E.; Salassa, F. Permutation flowshop problems minimizing core waiting time and core idle time. Comput. Ind. Eng. 2023, 176, 108983. [Google Scholar] [CrossRef]
  34. de Abreu, A.P.; Fuchigami, H.Y. An efficiency and robustness analysis of warm-start mathematical models for idle and waiting times optimization in the flow shop. Comput. Ind. Eng. 2022, 166, 107976. [Google Scholar] [CrossRef]
  35. Park, M.J.; Ham, A. Energy-aware flexible job shop scheduling under time-of-use pricing. Int. J. Prod. Econ. 2022, 248, 108507. [Google Scholar] [CrossRef]
  36. Gao, K.; Huang, Y.; Sadollah, A.; Wang, L. A review of energy-efficient scheduling in intelligent production systems. Complex Intell. Syst. 2020, 6, 237–249. [Google Scholar] [CrossRef]
  37. Meng, L.; Zhang, C.; Shao, X.; Ren, Y. MILP models for energy-aware flexible job shop scheduling problem. J. Clean. Prod. 2019, 210, 710–723. [Google Scholar] [CrossRef]
  38. Li, H.; Zhu, H.; Jiang, T. Modified Migrating Birds Optimization for Energy-Aware Flexible Job Shop Scheduling Problem. Algorithms 2020, 13, 44. [Google Scholar] [CrossRef]
  39. Duan, J.; Wang, J. Energy-efficient scheduling for a flexible job shop with machine breakdowns considering machine idle time arrangement and machine speed level selection. Comput. Ind. Eng. 2021, 161, 107677. [Google Scholar] [CrossRef]
  40. Benedikt, O.; Aliko, B.; Šůcha, P.; Čelikovský, S.; Hanzálek, Z. A polynomial-time scheduling approach to minimise idle energy consumption: An application to an industrial furnace. Comput. Oper. Res. 2021, 128, 105167. [Google Scholar] [CrossRef]
  41. Yang, X.W.; Wu, X.C.; Shao, Y.; Tang, G. Energy-delay-aware VNF scheduling: A reinforcement learning approach with hierarchical reward enhancement. Clust. Comput. 2024, 27, 7657–7671. [Google Scholar] [CrossRef]
  42. Babor, M.; Pedersen, L.; Kidmose, U.; Paquet-Durand, O.; Hitzmann, B. Application of Non-Dominated Sorting Genetic Algorithm (NSGA-II) to Increase the Efficiency of Bakery Production: A Case Study. Processes 2022, 10, 1623. [Google Scholar] [CrossRef]
  43. Zhao, J.; Peng, S.; Li, T.; Lv, S.; Li, M.; Zhang, H. Energy-aware fuzzy job-shop scheduling for engine remanufacturing at the multi-machine level. Front. Mech. Eng. 2019, 14, 474–488. [Google Scholar] [CrossRef]
  44. González-Rodríguez, I.; Puente, J.; Palacios, J.J.; Vela, C.R. Multi-objective evolutionary algorithm for solving energy-aware fuzzy job shop problems. Soft Comput. 2020, 24, 16291–16302. [Google Scholar] [CrossRef]
  45. Afşar, S.; Palacios, J.J.; Puente, J.; Vela, C.R.; González-Rodríguez, I. Multi-objective enhanced memetic algorithm for green job shop scheduling with uncertain times. Swarm Evol. Comput. 2022, 68, 101016. [Google Scholar] [CrossRef]
  46. Dubois, D.; Prade, H. Fuzzy Numbers: An Overview. In Readings in Fuzzy Sets for Intelligent Systems; Dubois, D., Prade, H., Yager, R.R., Eds.; Morgan Kaufmann: Burlington, MA, USA, 1993; pp. 112–148. [Google Scholar] [CrossRef]
  47. Palacios, J.J.; González-Rodríguez, I.; Vela, C.R.; Puente, J. Coevolutionary makespan optimisation through different ranking methods for the fuzzy flexible job shop. Fuzzy Sets Syst. 2015, 278, 81–97. [Google Scholar] [CrossRef]
  48. Palacios, J.J.; Puente, J.; Vela, C.R.; González-Rodríguez, I. Benchmarks for fuzzy job shop problems. Inf. Sci. 2016, 329, 736–752. [Google Scholar] [CrossRef]
  49. González Rodríguez, I.; Puente, J.; Vela, C.R.; Varela, R. Semantics of Schedules for the Fuzzy Job Shop Problem. IEEE Trans. Syst. Man Cybern. Part A 2008, 38, 655–666. [Google Scholar] [CrossRef]
  50. Fortemps, P. Jobshop Scheduling with Imprecise Durations: A Fuzzy Approach. IEEE Trans. Fuzzy Syst. 1997, 7, 557–569. [Google Scholar] [CrossRef]
  51. Dell’ Amico, M.; Trubian, M. Applying Tabu Search to the Job-shop Scheduling Problem. Ann. Oper. Res. 1993, 41, 231–252. [Google Scholar] [CrossRef]
Figure 1. Example to illustrate idle time calculations.
Figure 1. Example to illustrate idle time calculations.
Algorithms 18 00137 g001
Figure 2. Schedule to illustrate the total core idle time calculation.
Figure 2. Schedule to illustrate the total core idle time calculation.
Algorithms 18 00137 g002
Figure 3. TCIT ^ ϕ obtained using the three different approaches for the example in Figure 2.
Figure 3. TCIT ^ ϕ obtained using the three different approaches for the example in Figure 2.
Algorithms 18 00137 g003
Figure 4. E [ TCIT ^ ] values (y-axis) obtained for all instances (x-axis), with the black line representing TCIT ^ N , the darker grey one TCIT ^ K , and the lighter grey one TCIT ^ C . Instances with the same size and resource dependency in processing times are grouped so that increasing flexibility levels are joined by a line. Please notice that the scale changes between graphs.
Figure 4. E [ TCIT ^ ] values (y-axis) obtained for all instances (x-axis), with the black line representing TCIT ^ N , the darker grey one TCIT ^ K , and the lighter grey one TCIT ^ C . Instances with the same size and resource dependency in processing times are grouped so that increasing flexibility levels are joined by a line. Please notice that the scale changes between graphs.
Algorithms 18 00137 g004
Figure 5. M V P ( TCIT ^ ) values (x-axis) obtained for all instances (y-axis) using TCIT ^ N (in black), TCIT ^ K (in dark grey), and TCIT ^ C (in light grey).
Figure 5. M V P ( TCIT ^ ) values (x-axis) obtained for all instances (y-axis) using TCIT ^ N (in black), TCIT ^ K (in dark grey), and TCIT ^ C (in light grey).
Algorithms 18 00137 g005
Figure 6. Average R D E V ( TCIT ^ ) values (x-axis) obtained for all instances (y-axis) using TCIT ^ N (in black), TCIT ^ K (in dark grey) and TCIT ^ C (in light grey).
Figure 6. Average R D E V ( TCIT ^ ) values (x-axis) obtained for all instances (y-axis) using TCIT ^ N (in black), TCIT ^ K (in dark grey) and TCIT ^ C (in light grey).
Algorithms 18 00137 g006
Figure 7. Average U U ( TCIT ^ ) values (y-axis) obtained for all instances (x-axis) using TCIT ^ N (in black), TCIT ^ K (in dark grey), and TCIT ^ C (in light grey). Instances with the same size and resource dependency in processing times are grouped so that increasing flexibility levels are joined via a line.
Figure 7. Average U U ( TCIT ^ ) values (y-axis) obtained for all instances (x-axis) using TCIT ^ N (in black), TCIT ^ K (in dark grey), and TCIT ^ C (in light grey). Instances with the same size and resource dependency in processing times are grouped so that increasing flexibility levels are joined via a line.
Algorithms 18 00137 g007
Figure 8. Average executed TCIT values (y-axis) obtained for all instances (x-axis) using TCIT ^ N (in black), TCIT ^ K (in dark grey) and TCIT ^ C (in light grey). Instances with the same size and resource dependency in processing times are grouped so that increasing flexibility levels are joined via a line.
Figure 8. Average executed TCIT values (y-axis) obtained for all instances (x-axis) using TCIT ^ N (in black), TCIT ^ K (in dark grey) and TCIT ^ C (in light grey). Instances with the same size and resource dependency in processing times are grouped so that increasing flexibility levels are joined via a line.
Algorithms 18 00137 g008
Table 1. Table of symbols.
Table 1. Table of symbols.
SymbolDescription
O set of operations
R set of resources
mnumber of resources
J set of jobs
nnumber of jobs
R ( o ) subset of resources in which operation o can be executed
χ ( o ) job to which operation o belongs to
η ( o ) position in which operation o has to be executed relative to its job
p ( o , r ) processing time of operation o in the resource r
τ ϕ resource assignments in solution ϕ
s ϕ operation starting times in solution ϕ
τ ϕ ( o ) resource assigned to operation o in solution ϕ
s ϕ ( o ) position of operation o in τ ϕ ( o )
p ϕ ( o ) processing time of operation o in solution ϕ . Equivalent to p ( o , τ ϕ ( o ) )
c ϕ ( o ) completion time of operation o in solution ϕ
J P ( o ) job predecessor of operation o
J S ( o ) job successor of operation o
R P ϕ ( o ) resource predecessor of operation o in solution ϕ
R S ϕ ( o ) resource successor of operation o in solution ϕ
α ϕ ( r ) first operation scheduled in resource r in solution ϕ
ω ϕ ( r ) last operation scheduled in resource r in solution ϕ
^ all notations with a hat represent that the number is TFN
i refers to the i-th component of a fuzzy number
N refers to a measure computed using the Naive approach
K refers to a measure computed using the schedule Knowledge approach
C refers to a measure computed using the Coarse approach
I ϕ ( o ) idle time of an operation in ϕ
C I T ϕ ( r ) core idle time of a resource in ϕ
T C I T ϕ total core idle time of ϕ
ρ a crisp scenario
f ϕ ρ value of the objective function f under the crisp scenario ρ in solution ϕ
E [ a ^ ] expected value of a ^
S ( a ^ ) spread of a ^
M V P ( a ^ ) modal value position of a ^
R D E V ( ϕ , ρ ) relative distance to the expected value of ϕ with respect to the crisp scenario  ρ
U U ( ϕ , S ) used uncertainty of solution ϕ in the set of possible scenarios S
Disclaimer/Publisher’s Note: The statements, opinions and data contained in all publications are solely those of the individual author(s) and contributor(s) and not of MDPI and/or the editor(s). MDPI and/or the editor(s) disclaim responsibility for any injury to people or property resulting from any ideas, methods, instructions or products referred to in the content.

Share and Cite

MDPI and ACS Style

García Gómez, P.; González-Rodríguez, I.; Vela, C.R. Computing Idle Times in Fuzzy Flexible Job Shop Scheduling. Algorithms 2025, 18, 137. https://doi.org/10.3390/a18030137

AMA Style

García Gómez P, González-Rodríguez I, Vela CR. Computing Idle Times in Fuzzy Flexible Job Shop Scheduling. Algorithms. 2025; 18(3):137. https://doi.org/10.3390/a18030137

Chicago/Turabian Style

García Gómez, Pablo, Inés González-Rodríguez, and Camino R. Vela. 2025. "Computing Idle Times in Fuzzy Flexible Job Shop Scheduling" Algorithms 18, no. 3: 137. https://doi.org/10.3390/a18030137

APA Style

García Gómez, P., González-Rodríguez, I., & Vela, C. R. (2025). Computing Idle Times in Fuzzy Flexible Job Shop Scheduling. Algorithms, 18(3), 137. https://doi.org/10.3390/a18030137

Note that from the first issue of 2016, this journal uses article numbers instead of page numbers. See further details here.

Article Metrics

Back to TopTop