In this paper, we tackle the Energy-Flexible Flow Shop Scheduling (EnFFS) problem, a multi-objective optimisation problem focused on the minimisation of both the overall completion time and the global energy consumption of the solutions. The tackled problem is an extension of the Flexible Flow-Shop Scheduling problem where each activity in a job has a set of possible execution modes with different trade-off between energy consumed and processing time. Moreover, global energy consumption may also depend on the possibility to switch-off the machines during the idle periods. The goal of this work is to widen the knowledge about performance capabilities, in particular the ability of efficiently finding high quality approximations of the solution Pareto front. To this aim, we explore the development of innovative meta-heuristic algorithms for solving the proposed multi-objective scheduling problem. In particular, we consider a stochastic local search (SLS) algorithms, introducing a Multi-Objective Large Neighbourhood Search (MO-LNS) framework in line with the large neighbourhood search approaches proposed in literature, and compare it with a state-of-the-art Constraint Programming solver. We present some results obtained against both a EnFFS benchmark recently proposed in the literature, and a set of new challenging instances of increasing size.
Over the last years, due to the increasing importance of the energy and environmental factors in society, the need to include such factors among the optimisation requirements of industrial processes has become more and more compelling. As a result, the scheduling problems typically built on top of the production processes (i.e., Job Shops problems, Flow Shops problems, etc.) and historically revolving around time-based objective functions (e.g., completion time, tardiness, workload, changeover time), have been progressively extended to the multi-objective case, including both energy and environment-related costs (e.g., peak-power load, energy consumption, associated carbon footprint) [3, 5, 17].
This work considers a flexible flow-shop environment where a set of M machines partitioned over q production stages are employed to execute n jobs. Each activity in a job has a set of possible execution modes with different trade-off between energy consumed and processing time. Moreover, global energy consumption may also depend on the possibility to switch-off the machines during the idle periods. The goal of this work is to widen the knowledge about constraint-based stochastic local search (SLS) [9] performance capabilities in the multi-objective realm.
According to literature [10, 19] the methods for solving multi-objective optimisation problems can be classified into three groups, given the phase in which the user involved in the decision making process expresses his/her preferences: the a priori, the interactive, and the a posteriori methods.
In the a priori methods the user expresses his/her preferences before starting the solution process (e.g., the weights to the objective functions). The drawback of this approach is that it is very difficult for a decision maker to accurately quantify his/her preferences, because he/she never sees the whole set of efficient solutions (the Pareto front) or an approximation of it. In the interactive methods, computation phases are interleaved with user-interaction phases on behalf of the decision maker. The user progressively drives the search with her/his answers towards the most preferred solution. While in this approach the drawback related to the lack of knowledge about the Pareto front is less severe, yet the most preferred solution clearly depends on what the user progressively discovers during the computation. Finally, in the a posteriori method the Pareto front (or its approximate representation) is generated first, and then the decision maker selects the most preferred solution. Despite the a posteriori methods are generally the least popular due to their heavy computational burden, the fact that none of the potential solutions is left undiscovered strengthens the confidence of the decision makers on the final decision [18, 19].
In this work we will focus on the a posteriori methods, leveraging in particular their ability of efficiently finding high quality approximations of the solution Pareto front. To this aim, we focus on two different meta-heuristic approaches for solving the proposed multi-objective scheduling problem based on SLS algorithms: (i) an ɛ-constraint based approach [10, 14], and (ii) a multi-objective Large Neighbourhood Search LNS optimisation approach [22]. Meta-heuristic procedures are typically composed of a number of different components, each of which should contribute to the final solving capabilities of the algorithm. In particular, in this work we compare the performances of both approaches, empirically analysing the effects of the algorithmic components on the proposed problem. Such analysis is done both using some benchmarks and case studies taken from the literature [3], and proposing new benchmarks representing increasingly difficult multi-objective scheduling instances with makespan and energy consumption as objective functions.
The paper is organized as follows. Section 2 defines the class of scheduling problems with energy costs tackled in this work, while Section 3 provides an overview of the constraint-based reasoning paradigm used to implement the solving procedures. Such procedures will be described in details in Sections 4 and 5, respectively. Subsequently, an experimental analysis that assesses the performance of the proposed algorithms against the benchmark of reference and summarises some important observations, is provided in Section 6. Finally, a concluding section ends the paper.
The energy-FFS scheduling problem
The Energy-FFS (ENFFS) entails synchronising the use of a set M of r machines to perform a set of nJ jobs , according to a multi-stage production process. In order to complete the production process, each job has to pass all the q productions stages (see Fig. 1) in the same order which cannot be modified. Job reentry is not allowed, hence each job is composed of exactly q operations. Let Mk = {mk1, mk2, …, mkrk} the set of machines in each production stage k = 1 … q; each machine belongs to just one production stage, such that and Mi∩ Mj = ∅ with i ≠ j (.
One job can be processed by only one machine at each production stage; each machine can process at most one job at a time. Each machine is available at time t = 0 and all the jobs are released at time t = 0. No preemption is allowed. Let O the set of all the job operations ajk, such that ajk is the k-th operation of job j: ajk requires the exclusive use of a single machinem ∈ Mk for its entire duration. The machines Mk that can be assigned to ajk are generally characterised by different working speeds and different energy consumption. More concretely, the processing time of each activity ajk depends on the assigned machine m ∈ Mk, such that (constant value), where the variables sjk and ejk represent the start and end time of ajk. Similarly, the execution of each operation ajk is associated with a determined power consumption , which depends on m ∈ Mk. According to [3], the value represents the basic energy consumption of the operation ajk to maintain the machine m ∈ Mk in the on-state, and the value is called unload power. It should be underscored at this point that the execution of the operation ajk should also include the consumption of an additional amount of energy, the so-called cutting energy component (i.e., the energy consumed by the machine when a job is processed with a certain speed). However, following the approach used in [3], such component of the energy is not taken into account for the optimisation purposes because its value is considered constant and independent of the machine m ∈ Mk and hence, it can be ignored.
Figure 2 depicts an example of ENFFS scheduling problem with nJ = 3 jobs and q = 3 production stages, where the first stage contains one machine (m11), the second stage contains two machines (m21 and m22), and the third stage contains one machine (m31). As the reader can observe, each operation of each job is characterised by as many duration and power value pairs as are the machines contained in the stage of interest. For example, operation a22 is characterised by a duration of 4 minutes on machine m21 and 9 minutes on machine m22, whereas the power consumption is 2.8 kW on machine m21 and 3.7 kW on machine m22.
A solution of the ENFFS problem is a set of pairs , where is the assigned start-time of operation ajk, is the selected machine for ajk, and all the constraints previously described are satisfied.
Let Ck be the completion time for the job Jk, the makespan of the solution is the value . Given a solution Sol, let us define the overall energy consumption E as
The first component Ebasic represents the sum of all basic energy consumptions of the operations ajk.
The second term Eunload represents the sum of all idle energy consumptions in Sol, which is computed as follows. For each machine m and for each pair of consecutive operations (u, v) executing on that machine and separated by a temporal distance Tu,v = sv - eu, the idle energy consumption , used in between the pair of operations, is bounded by the so-called turn-off-on energy , i.e., the energy required to switch off and again on the machine m. Hence, , where is the unload power of machine m when the operation u is executed (see Fig. 3). Hence, we have
Where Om is the set of operations ajk assigned to machine m in Sol, and succm () is a successor function representing the total order imposed on the set of operations Om.
We observe that the value is the break-even temporal distance between any two consecutive activities (operating on the same machine m) beyond which it is convenient to turn off the machine m and within which it is convenient to leave it on.
The objective of the present analysis is the minimisation of both the total energy consumption E and the overall completion time Cmax. However, the possibly conflicting nature of these two objectives may prevent the existence of a unique solution Sol* that is optimal w.r.t. both the objectives. Therefore, in this work we are interested in the set of all optimal “tradeoffs”, which are known as the Pareto optimal solutions. A Pareto optimal solution is a solution such that the improvement of one objective necessarily implies the worsening of the other objective. More formally, given two solutions Sol (Cmax, E) and characterised by the given objective functions, SoldominatesSol′, represented in the following as Sol ≺ Sol′, if . The Pareto set PS* is the set of solutions Sol, such that for each Sol ∈ PS* there is no solution Sol′ which dominates Sol (Sol′ ≺ Sol). A Pareto Set for a bi-dimensional optimisation problem such as the ENFFS can be graphically represented as in Fig. 4.
The ENFFS is a computationally hard problem since it is an extension of the single objective Flexible Flow Shop Scheduling problem which is NP-hard [7].
Figure 5 shows a solution of the problem represented in Fig. 2. In the solution, all machines start in the off state, and they are turned on as soon as they have to process one job); moreover, the sequencing order pertaining to the activities of the three jobs is maintained, and no machine is busy processing more than one job at a time. It should be noted that, depending on the length of the idle interval between two different activities processed by the same machines, the latter can either remain on or be turned off. Particularly in the figure, the machine m22 remains turned on between the processing of jobs J1 and J2, while the machine m31 is turned off between the processing of jobs J2 and J3, while it remains on between the processing of jobs J1 and J2. The reader can easily verify that it is convenient to turn offm31 between J2 and J3, as the temporal distance between the two jobs (9 minutes, i.e., 0.15 hours) is longer than m31’s break-even temporal distance (computed as ).
Constraint-based search
Constraint Programming (CP) is a well-known declarative programming paradigm [1] suitable for solving constraint satisfaction and optimisation problems. A constraint program is defined as a set of decision variables, each ranging on a discrete domain of values, and a set of constraints that limit the possible combination of variable-value assignments. After a model of the problem is created, the solver interleaves two main steps: 1) constraint propagation, and 2) search. In the constraint propagation step, inconsistent values are progressively removed from variables domains. The search strategy step explores alternative assignments of variable-values until either a solution is found or a failure is detected. We represent the given ENFFS problem as a Constraint Satisfaction Problem (CSP) [20]. A CSP is defined by a set of variables, X1, X2, . . . , Xn, and a set of constraints, C1, C2, . . . , Cm. Each variable Xi has a nonempty domain Di of possible values. Each constraint Ci involves some subset of the variables and specifies the allowable combinations of values for that subset. A solution of a CSP is defined as a consistent assignment of values to all of the variables X1, X2, . . . , Xn, i.e., an assignment that satisfies all the constraints. Constraint Programming is particularly suited for solving scheduling problems [16] where the decision variables correspond to the problem operations. In particular, each operation variable a is characterised at least by two features: sa representing its start time, and da representing its duration. For scheduling problems, a number of different global constraints have been developed, the most important being the unary-resource constraint [27] for modelling simple machines, the cumulative resource constraint [16] for modelling, cumulative resources (e.g., a pool of workers), and the reservoir [13] for modelling consumable resources (e.g., a fuel tank). In particular, given unary-resource(Ops), the constraint holds if and only if all the operations in the set Ops never overlap each other at any point in time. A number of propagation algorithms are embedded in the unary-resource constraint for removing probably inconsistent assignments of operation start-time variables.
To tackle the ENFFS, in this work we compare two different CP-based approaches known in literature. In the first approach (called ɛ-constraint-based approach, and described in Section 4) the decision variables are the starting times sjk of the operations ajk ∈ O and the variables xjk ∈ Mk, representing the set of machines which can be assigned to the operation ajk. This approach is implemented on the IBM-ILOG CPLEX Optimization Studio CP Optimizer (v12.6.0), a known and efficient state-of-the-art CP development toolkit, and will be presented in Section 4. In the second approach (called Multi-objective Large Neighborhood Search, based on that used in [23] for single-objective makespan minimization, and described in Section 5), we focus on assigning resources to operations and on establishing precedence constraints between pairs of operations that require the same resource (machine), so as to eliminate all possible conflicts in the resource usage. Hence, in CSP terms, we identify two sets of decision variables: (i) a variable xi, defined for each operation ai to select one resource for its execution (the domain of xi is the set of available machines Mk corresponding to the production stage k of ai), and (ii) a variable oijm, defined for each pair of operations ai and aj requiring the same machine m (i.e., where xi = xj = m) which can take one of the two values ai ⪯ aj or aj ⪯ ai, and representing the so-called disjunctive constraints. The main contribution of the this paper is the analysis of the performances of a Multi-objective Large Neighborhood Search procedure w.r.t. two versions of ɛ-constraint-based procedures (a basic and a state-of-the-art version) described in Section 4, against both a EnFFS benchmark recently proposed in the literature [3], and a set of new challenging instances of increasing size.
A ɛ-constraint based approach
A well-studied multi-objective optimisation method to generate the whole Pareto front is the ɛ-constraint method [18, 19]. The ɛ-constraint method works by choosing one objective function as the only objective and properly constraining the remaining objective functions during the optimization process. Through a systematic variation of the constraint bounds, different elements of the Pareto front can be obtained. In the following Section 4.1 we describe the ɛ-constraint method in two different forms, a basic form and a more advanced one; both versions can be used as a reference baseline for the empirical evaluation of the multi-objective LNS strategy proposed in Section 5. Both the ɛ-constraint methods take as an input parameter an optimisation procedure based on a Constraint Programming (CP) model, which will be described in Section 4.2.
Bi-criterion ɛ-constraint methods
The algorithm described in Fig. 6 presents the pseudo-code according to the original description of the ɛ-constraint method (see [18, 19]) for the case of a bi-criterion objective function f = (f(1), f(2)). As shown in Fig. 6, the method takes in input (i) the objective f, (ii) the bounds and on the second component of the objective, and (iii) the decrement value δ. As previously mentioned, the method iteratively leverages a procedure provided in input to solve constrained single-objective problems (the Optimization() procedure, line 4). The algorithm proceeds as follows: after initialising the constraint bound ɛ to the value (line 2), a new solution S is computed by calling Optimization() at each step of the solving cycle between lines 3 and 6. If the solution S is not dominated by any of the existing solutions in the current Pareto set P, then S is inserted in P, and all the solutions possibly dominated by S are expunged from P (line 5).
The rationale behind the ɛ-constraint method is to iteratively tighten the constraint bound by a pre-defined constant δ at each step of the solving cycle (line 6). The need to choose such a value represents also a drawback of this approach. Since only one solution can be found in each interval, the discretisation has to be fine enough to find any Pareto-optimal solution. In the worst case, the difference between objective values might be as small as the machine accuracy of the computer used to run the algorithm. Choosing such a small δ, though, might cause a large number of redundant runs of the single objective optimiser.
An improved version of the ɛ-constraint method is described in the work [14]. The basic idea in order to overcome the drawback of the original ɛ-constraint method is to make use of information about the objective space as soon as it is available, during the search process. This is the concept behind the adaptiveɛ-constraint method described in [14]. In the two-objective case, the adaptive variation of the constraints is straightforward (see the algorithm depicted in Fig. 7). There is only one constraint value to adapt, which can be achieved by starting with an arbitrary upper bound for the second objective (line 2) and iteratively tighten the constraint on f(2) using the f(2)-value of the optimum of the previous single-objective run. Similarly to the previous algorithm, after initializing the constraint bound to the value (line 2), the procedure entails the iterative utilisation of the Optimization() procedure (line 4) in order to find new solutions. The main difference w.r.t. the previous algorithm is that, as soon as a new solution S is found at each iteration, the constraint bound is tightened by adapting it to S’s f(2) value (line 6), hence avoiding to waste solving time by imposing redundant constraints on the f(2) objective, as performed in the basic ɛ-constraint method. The rationale is the following: let be one solution found by the algorithm of Fig. 7 at line 4, given the constraint f(2) ≤ ɛu on the second objective. Under the hypothesis that the algorithm Optimization() is complete, all the solutions generated with a bound constraint ɛv, where are necessarily dominated by Su, because they cannot improve over the first objective f(1).
A CP-based optimisation procedure
In this section we present the definition of the CP-based function Optimization() used in for the adaptive ɛ-constraint procedure shown in Fig. 7. Despite the original ɛ-constraint method relies on the availability of a procedure to solve constrained single-objective problems, Optimization() implements a bi-criterion lexicographic minimisation. The motivation is that in general several solutions S may exist with minimum f(1)-value; yet, we are interested in the solutions characterized by a minimum f(2)-value also. On the opposite side, the utilization of a single-objective optimiser can only guarantee a weakly Pareto optimal solution S [19] such that no solution S′ exists which is strictly preferred to S with respect to each objective separately, and hence, it may also generate a solution S″ with minimum f(1)-value and a non minimal f(2)-value. In the description that follows, we consider f(1) = E (i.e., the energy) and f(2) = Cmax (i.e., the makespan).
We describe a Constraint Programming (CP) model based on the problem defined in Section 2, where the main decision variables are the starting times sjk of the operations ajk ∈ O and the variables xjk ∈ Mk, representing the set of machines which can be assigned to the operation ajk (aka modes). Depending on such xjk value, the operation ajk has a duration and consumes an unload power . We assume that the decision variables sjk range in the interval , and the variables xjk range in the set Mk, depending on the production stage k = 1, 2, …, q the operation aik belongs to in the input problem definition. The model, whose utilisation will be described in the experimental section (Section 6), is built on top of the IBM-ILOG CPLEX Optimization Studio CP Optimizer and is presented below.
Definitions (4a) and (4b) represent respectively: (i) the set of problem operations assigned to machine r (Or), and (ii) a set of auxiliary unit-duration operations (Ur), assigned to a dummy unary machine mirroring r (it is worth noting that the two sets Or and Ur represent separate processing orders of activities). The introduction of the auxiliary set of operations Ur is necessary to represent the position of each activity in the processing orders imposed among the operations assigned to machines r ∈ M. More concretely, the auxiliary unit-duration operations indirectly implement the definition of a successor functionsuccr () (returning the successor of each operation u for each total order imposed on the set of operations Or assigned to a machine r). To the best of our knowledge, this workaround is necessary due to the fact that the successor function is not natively present in the OPL language (see IBM ILOG CPLEX Optimization Studio OPL Language Reference Manual, Version 12 Release 6). Operationally, the set of unit-duration operations ujk ∈ U can be assigned to the stages Mk (in the same fashion of the operations ajk) so that, for each processing order imposed on a machine r, a0 ≺ a1, …, ≺ ai, … ≺ ap, an identical order is imposed on the unit-duration operations u0 ≺ u1, …, ≺ ui, … ≺ up. In this manner, the position i of the operation ai coincides with the start-time value of the unit-duration operation ui.
For the reasons above, two additional sets of decision variables must be added to the model: (i) the starting times usjk of the operations ujk ∈ U, and (ii) the variables uxjk ∈ Mk, representing the set of machines which can be assigned to the unit-duration operation ujk.
The Definition (5a) represents the position function posr () such that the position of the operation aik ∈ Or coincides with the start-time value usjk of its corresponding unit-duration operation uik ∈ Ur. The definition of the successor function succr () previously described is given in (5b).
The energy objective E is composed of two parts: the expression at line (4) represents the basic energy consumption of the single operation, while the expression at line (4) represents the unload (or idle) energy consumption of a pair of contiguous operations (u, v) assigned on the same machine. Both the previous energy components are then summed for every operation and every pair of contiguous operations respectively, before being finally added together according to the expression at line (4). The makespan objective Cmax is described at line (4), and follows the classical definition.
Once all the necessary definitions have been provided and all the variables have been introduced, we present the model’s optimization criteria and constraints.
Line (6a) represents the lexicographic minimisation of the objective pair (E, Cmax) with the energy E as primary objective. According to the implemented ɛ-constraint method [18, 19] for calculating the Pareto set (named CPɛ in the following) we optimise the energy E, while we impose an upper bound to the other objective Cmax in the form Cmax ≤ Cɛ (see (4)). The constraints in (4) represent the linear orderings imposed on the set of operations O by the set of jobs , while the constraints in (4) imposes the choice of the same machine to each pair of activities ajk and ujk. The constraints in (4) impose the same order between the activities in the two sets Or,Ur by means of the global constraints same-sequence(Or,Ur). The constraints in (6f) bound the start-time value of each unit-duration operation ujk to the number of operations assigned to the machine indexed by xjk in order to ensure the strict contiguity of all the unit-duration operations (in fact, only the strict contiguity of all the ujk operations guarantees that the usjk values correspond exactly to the positions of the associated ajk operations). Constraints (6g) and (6h) respectively allow the assignment to the decision variables xjk and uxjk to one value only among those in the Mk set (the set of machines in the production stage k). Finally, (6i) and (6j) represents the non-overlapping constraints imposed by the machines M to the operations in Or and Ur, through the global constraints unary - constraint (Or) and unary - constraint (Ur), respectively.
Multi-objective LNS Optimisation
In this section we propose a state-of-the-art meta-heuristic algorithm for solving the proposed multi-objective scheduling ENFFS problem. In particular, we propose a stochastic local search (SLS) algorithm [9] in line with the Large Neighbourhood Search (LNS) approaches proposed in [23, 26]. Such procedures are typically composed of a number of different components, each of which should contribute to the final solving capabilities of the algorithm.
Figure 8 describe the proposed algorithm named MO-LNS and Fig. 9 gives an intuition about how the optimisation proceeds. The algorithm takes in input an instance of the ENFFS problem prb, and a termination criteria tc (e.g., a max number of solving attempts). The idea is to generate and use a set of elite-solutions ES [8] where each solution S ∈ ES can be selected as a starting point for the generation of the final approximation of the Pareto set PS* during the optimization process. The ES is composed of two subsets, a “non-dominated” component of solutions ES*, corresponding to the best approximation of the Pareto set, and a “dominated” component ES-, obtained as the subset of ES \ ES* composed of all solutions that neither dominate nor are dominated by one another. Note that ES = ES* ∪ ES- and ES*∩ ES- = ∅. The core steps of the MO-LNS algorithm (i.e., the lines 3-6) implement a so-called Wave Strategy, which moves the elite set solutions towards the Pareto set PS*. In particular, MO-LNS iteratively applies the Wave Strategy until the termination criteria tc is satisfied. At line 3 a solution S is selected from ES’s dominated component ES-. Many selection strategies can be devised; the current strategy is based on a simple random selection of the elements in ES-. Next, an optimisation strategy is selected (line 4); there are two different strategies: one focused on the minimisation of the completion time Cmax and another one focused on the minimisation of the overall consumed energy E. In the currently implemented Wave Strategy selection policy, we choose the two strategies at random. Subsequently, an optimisation strategy is applied at line 5 via a LNS algorithm which is an extension of the algorithm proposed in [23]. A brief description of this algorithm is given in the next subsection (Section 5.1).
Finally, the algorithm updates the elite set ES (line 6). In order to control the degree of diversification in the search, we define a threshold Tr representing the max allowed distance (distance in the Cartesian plane CmaxE) between the non-dominated and the dominated components of ES, called ESacceptance threshold (see also Fig. 10). The idea behind the threshold Tr separating the two sets ES* and ES- is inspired by well-known works such as [4, 12]; in heuristic-based iterative optimization procedures it is often more effective to perform each iteration of the optimization cycle starting from a solution selected from a set of “sufficiently good” solutions, rather than directly selecting the best solution found so far (see, for example, [21]). In the multi-objective context of this work, the dominated subset ES- simply represents the container of all such “sufficiently good” solutions, and the threshold Tr is the parameter that controls the maximum allowed quality difference between the ES* and the ES- subsets. Operationally, the Tr parameter is used to perform the update of the set ES, according to the following rationale: if the new solution S′ found at line 6 of the algorithm deserves to enter the ES* set, it is saved there. Every possible solution S ∈ ES* dominated by S′ is expunged from ES* and possibly inserted in S ∈ ES- (and again, all ES- solutions possibly dominated by this last insertion are eliminated from ES-). Please note that if the Pareto acceptance threshold Tr = 0, then ES* ≡ ES-.
The algorithm terminates at line 8, where the best approximation of the Pareto Set PS* is extracted as the non-dominated component of the Elite Set ES obtained at the end of the optimization loop.
The LNS metaheuristic
Figure 11 introduces the generic LNS procedure. The algorithm basically alternates relaxation and solving steps until a better solution is found or a maximal number of iterations is executed. The procedure takes three parameters as input: (1) an initial solution S; (2) a positive integer MaxFail, which specifies the maximum number of non-improving moves that the algorithm will tolerate before terminating; (3) a parameter γ (called relaxing factor) determining how much of the current solution should be relaxed. After the initialisation (lines 1-2), a solution is repeatedly modified within the while loop (lines 3-10) by applying the Relax procedure (line 4) and the pcp procedure (see [23] for more details) used as solving step (line 5). In more details, at each iteration, the Relax step reintroduces the possibility of resource contention by retracting some of the previously imposed solving decisions, and the pcp step is called again to restore resource feasibility. In the case a better solution is found (line 6), the new solution is saved in Sbest and the counter is reset to 0. If no improvement is found within MaxFail moves, the algorithm terminates and returns the best solution found.
The relaxation procedure is implemented using an approach similar to the one in [6] and called chain-based relaxation. The chain-based relaxation proceeds in two steps. First, a subset of operations ai is randomly selected from the input solution S, with each operation having an uniform probability γ ∈ (0, 1) to be selected. For each selected operation, the resource assignment is removed and the original set of available options M (ai) is re-established. Second, a procedure similar to Chaining – used in [25] – is applied to the set of unselected operations. This procedure is accomplished in three steps: (i) all previously posted precedence constraints are removed from the solution S; (ii) the unselected operations are sorted by increasing earliest start times of the input solution S; (iii) for each resource m and for each unselected operation ai assigned to m (according to the increasing order of start times), ai’s predecessor p = pred (ai, r) is considered and a precedence constraint (p, ai) is posted (the dummy operation a0 is the first operation of all the chains). This last step is iterated until all the operations are linked by precedence constraints.
Experimental analysis
This section has the twofold objective of (i) comparing the performances of the constraint-based MO-LNS procedure presented in Section 5 with the performances of the CPɛ and CPɛad algorithms presented in Section 4 (see Figs. 6 and 7, respectively) against an ENFFS instance previously tackled in literature, and (ii) extending the same analysis against a novel ENFFS benchmark created with the purpose of progressively stressing the solver’s capabilities, thus providing the community with a wider set of increasingly difficult instances to foster future comparisons. The ENFFS instance against which we are going to compare the MO-LNS, CPɛ and CPɛad procedures is composed of 12 jobs and 3 production stages (i.e., each job has to undergo 3 production operations on 3 different machines, selected at each stage). In particular, stage S1 has 3 available machines, stage S2 has 2 available machines, and stage S3 has 4 available machines. For each operation, the processing time and the energy consumption depend on the selected machine. Moreover, the idle energy consumption (Eunload), used by each pair of operations on the same machine separated by a temporal distance T, is computed according to the formula Eunload = min {Eon-off, (T * Punload)/1.2}
1
, where Punload defines the unload power. Please note that the Eon-off quantity is not a fixed value, and generally depends on the spindle speed at which the machine is working. For the full details about the particular ENFFS instance described above, the reader is referred to [3].
Figure 12 depicts the obtained results in the shape of four Pareto sets, comparing the results obtained in [3] (RCIM) with the results obtained with the MO-LNS, the CPɛ and the CPɛad procedures). Both the CPɛ and CPɛad Pareto sets shown in the plot have been built leveraging the ɛ-constraint based approaches (see [18] and [15], respectively), minimising the Energy (E) objective function while using the makespan (Cmax) objective function as a further constraint, and incorporating it in the constraint part of the model as shown in Section 4. In particular, for each test we have run the CPɛ and the CPɛad procedures 10 times, using as many progressively decreasing values of Cɛ (see Section 4), and allowing maximum 1 minute per run (hence constraining to 10 minutes the maximum time to build the whole Pareto set, for each procedure). Relatively to the CPɛ procedure, the variability range of the Cmax objective function has been selected to be equal to , where and are the minimum and maximum makespans found by the MO-LNS procedure, respectively. Both the CPɛ and CPɛad procedures have been implemented on the IBM-ILOG CPLEX Optimization Studio, a state-of-the-art commercial CP development toolkit. The test has been executed on a AMD Phenom II X4 Quad 3.5 Ghz under Linux Ubuntu 14.04.
Focusing on the MO-LNS algorithm presented in Fig. 8, the Wave Strategy employed for this test was based on a Random solution selection from the Elite Set (line 3), a random relaxation with γ = 0.2 during the LNS step (line 4), and on an Elite Set acceptance threshold equal to 0, i.e., considering only the non-dominated component of the Elite Set (line 6). As the plot in Fig. 12 shows, we have obtained significantly better results (the exact figures can be found in Table 1); as can be proved by simple visual inspection, the MOLNS Pareto Set is definitely well below the RCIM.
As clearly shown in the figure, both the CPɛ and the CPɛad procedures obtain even better results. This outcome was indeed expected, mainly due to the fact that, as opposed to the precedence constraint posting procedure at the core of the MO-LNS approach, the CPɛ’s and CPɛad’s search space is not limited to that of the early start time solutions. In other words, both the ɛ-based procedures are free to explore a larger solution space where, given the non-regularity of the objectives of the flow shop problem tackled here (energy may decrease as the operation start-times increase, see [2] for more details) better energy-saving solutions can be found by properly right-shifting the operation chains on every machine. Interestingly, the CPɛad procedure provides slightly better results than CPɛ. However, this is not surprising result; as explained in Section 4, the CPɛad procedure leverages the advantage of the adaptive scheme to generate appropriate constraint values during the solving run, rather than determining such constraint values a priori.
Of course, while having access to a larger solution space increases the possibility to explore promising regions, it also increases the search burden. One interesting issue of the analysis that follows will be the investigation of whether (and to what extent) this “right-shift advantage” will depend on the size of the problem. It is in fact perfectly reasonable to expect that as the size of the problem increases, such advantage will be counteracted by the increased computational burden of exploring much larger search spaces.
In order to provide further results in line with the previous objective, we have generated four new ENFFS instances of increasing size EnFFSxN (N = 1, 2, 3, 4) starting from the original instance tackled above, where the operations exhibit a more pronounced inverse correlation between the processing time and the energy consumption, namely:
EnFFSx1 (12 jobs × 3 stages = 36 operations)
EnFFSx2 (24 jobs × 3 stages = 72 operations)
EnFFSx3 (36 jobs × 3 stages = 108operations)
EnFFSx4 (48 jobs × 3 stages = 144operations)
Figure 13 presents four plots (a), (b), (c) and (d) relatively pertaining to the four ENFFS novel instances outlined above. Each plot presents three Pareto sets (Best, Worst, and Best CPɛ) which were built according to the following rationale: Best and Worst respectively represent the best and worst Pareto sets obtained through the MO-LNS search, varying a number of search parameters as explained below, Best CPɛ represents the best Pareto set obtained by CPɛ, while Best CPɛ adaptive represents the best Pareto set obtained by CPɛad (the exact values for the Best Pareto sets only can be found in Table 2).
In particular, the MO-LNS parameters we have varied during the analysis are: (i) the relaxing factor γ ∈ {0.1, 0.2, 0.3, 0.4}, (ii) the MaxFail parameter which specifies the maximum number of non-improving moves that the algorithm will tolerate before terminating, with MaxFail ∈ {0, 10, 100, 1000}, and the Elite Set Threshold Tr ∈ {0, min, medium, max} (all values are proportional to the instance size). In order to assess the influence on performance of the Threshold parameters within our Wave Strategy, Worst Pareto set is obtained varying the Elite Set Threshold Tr and keeping the other parameters fixed w.r.t. the best Pareto. The Solution selection strategy for all tests has been set to Random. Again, all tests have been executed by allotting a maximum CPU time of 10 minutes.
On the MO-LNS’s side, the results show that as the problem’s size increases (i.e., moving from the EnFFSx1 instance to the EnFFSx4 instance) the most promising policy consists in reducing the relaxing factor γ and concurrently increasing the Elite Set Threshold Tr. As for the MaxFail parameter, what can be learned in general is that lower MaxFail values tend to work better with bigger instances (i.e., with bigger instances it is more convenient to bet on exploration than on intensification). But this aspect requires further investigation. Special attention is required on the (d) plot (biggest instance); as the reader can observe, there is no clear difference between the best and the worst Pareto set. One possible explanation for this behaviour is that the 10 minutes CPU time limit was not long enough to allow for a significant exploration of the search space for problems of large size.
Comparing the MO-LNS results with those obtained with CPɛ, we can observe the following. The (a) plot describes a similar behaviour as in Fig. 12, i.e., the MO-LNS is clearly outperformed by the CPɛ; the latter succeeds in further minimising the energy levels, partly due to the right-shift mechanism mentioned above. As previously supposed however, different effects come into play as the problem size increases. In fact, while the (b) plot confirms the lowest energy levels obtained by CPɛ at large makespans, as the makespan decreases the CPɛ procedure seems to loose its performance; not only the obtained solutions are characterised by high energy levels, but the procedure does not seem to be very effective in finding solutions below a certain makespan (as the MO-LNS does). The previous characteristics are confirmed in plots (c) and (d); in particular, plot (d) exhibits a clear superiority of MO-LNS over CPɛ in terms of both energy and makespan minimization capabilities, thus fully confirming the expectations.
The comparison between the CPɛ and the CPɛad performances seems to confirm the the results obtained in Fig. 12, basically for all the four plots (a), (b), (c), and (d). Again, the advantage of the constraint generation adaptive scheme of the CPɛad procedure is clear; interestingly enough, the drawbacks exhibited by the CPɛ procedure w.r.t. the MO-LNS as the problem’s size increases are confirmed also in the CPɛad case. The conclusion we can draw from the experimentation is that the “anytime” behavior guaranteed by the MO-LNS approach allows to explore the Pareto set more efficiently than the CPɛɛ-constraint based approach, especially when the size of the problem increases. The reasons for this result mainly lie in the fact that, under the condition of equal allotted time for both procedures, the ɛ-constraint based approach is forced to equally divide the available time to be assigned for each solution’s optimisation attempt, while an anytime approach – such as the one implemented by MO-LNS – is free to allot the time available for optimisation among the solutions selected from the most promising Pareto set regions, according to the heuristics employed.
Conclusions and future work
In this work we have compared an “anytime” Multi-Objective (MO) Large Neighborhood Search (LNS) approach with an ɛ-constraint based approach (CPɛ), against FSSP problems with energy costs. Relatively to the MO-LNS procedure, two contributions have been presented: (i) an algorithmic template for solving multi-objective optimisation problems based on the LNS strategy, and (ii) an heuristic approach for solving ENFFS instances. Both ɛ-based procedures have been implemented on the IBM-ILOG CPLEX Optimization Studio, a known and efficient state-of-the-art CP development toolkit.
We have tested both previous approaches on: (i) a relevant case study taken from [3], and (ii) an extended set of ENFFS instances of increasing size, highlighting the pros and cons of both approaches as the size of the scheduling problem increases.
For future work, we are currently studying post-optimization search procedures to apply to the solutions obtained with MO-LNS, in order to overcome the early start time limitation of the core precedence constraint posting solver, and improve solution quality on problems characterised by non-regular objective functions such as the one tackled in this work. Moreover, we are collecting a large benchmark set from the instances available in the literature, relatively to scheduling problems with energy costs. The idea is to introduce new propagation procedures for the energy constraints, in order to foster comparison among different strategies for approximating the Pareto set.
To summarise, our analysis is following the direction of studying innovative meta-heuristic strategies (or hybridizations of these meta-heuristics such as Large Neighborhood Search, Scatter Search with Path Relinking, etc.) for solving scheduling problems with energy costs. Moreover, a further source of innovation may be represented by studying the energy constraints imposed on the above problems, in order to improve the search efficiency of a generic search strategy.
Footnotes
The 1.2 constant in the previous formula has been introduced to maintain full numeric consistency with the experimental results obtained in []. The authors of [3] have introduced the 1.2 constant as an energy-saving allowance to reduce the frequency of the machine off-on conversions, thus preserving the limited life of the machine controllers.
References
1.
Krzysztof Apt, Principles of Constraint Programming, Cambridge University Press, New York, NY, USA, 2003.
2.
BrandimarteP. and MaioccoM., Job shop scheduling with a non-regular objective: A comparison of neighbourhood structures based on a sequencing/timing decomposition, International Journal of Production Research37(8) (1999), 1697–1715.
3.
DaiM., TangD., GiretA., SalidoM.A. and LiW.D., Energy-efficient scheduling for a flexible flow shop using an improved genetic-simulated annealing algorithm, Robotics and Computer-Integrated Manufacturing29(5) (2013), 418–429.
4.
DueckG. and ScheuerT., Threshold accepting: A general purpose optimization algorithm appearing superior to simulated annealing, J Comput Phys90(1) (1990), 161–175.
5.
FangK., UhanN., ZhaoF. and SutherlandJ.W., A new approach to scheduling in manufacturing for power consumption and carbon footprint reduction, Journal of Manufacturing Systems30(4) (2011), 234–240. Selected Papers of 39th North American Manufacturing Research Conference.
6.
GodardD., LaborieP. and NuitjenW., Randomized Large Neighborhood Search for Cumulative Scheduling. In Proceedings of ICAPS-05, (2005), pp. 81–89.
7.
GuptaJ.N.D., Two-stage, hybrid flowshop scheduling problem, The Journal of the Operational Research Society39(4) (1988), 359–364.
8.
HeckmanI. and BeckJ.C., Fitness-distance correlation and solution-guided multi-point constructive search for csps. In
PerronLaurent and TrickMichael A., editors, Integration of AI and OR Techniques in Constraint Programming for Combinatorial Optimization Problems, volume 5015 of Lecture Notes in Computer Science, SpringerBerlin Heidelberg, (2008), pp. 112–126.
9.
HoosH.H. and StützleT., Stochastic Local Search. Foundations and Applications, Morgan Kaufmann, 2005.
10.
HwangC.L. and MasudA.S., Multiple Objective Decision Making - Methods and Applications. LNEMS 164, Springer-Verlag, Berlin, 1979.
11.
JiangZ., ZuoL. and MingchengE., Study on multiobjective flexible job-shop scheduling problem considering energy consumption, Journal of Industrial Engineering and Management7(3) (2014), 589–604.
12.
KirkpatrickS., GelattC.D. and VecchiM.P., Optimization by simulated annealing, Science220(4598) (1983), 671–680.
13.
LaborieP., Algorithms for propagating resource constraints in AI planning and scheduling: Existing approaches and new results, Artif Intell143(2) (2003), 151–188.
14.
LaumannsM., ThieleL. and ZitzlerE., An efficient, adaptive parameter variation scheme for metaheuristics based on the epsilon-constraint method, European Journal of Operational Research169(3) (2006), 932–942.
15.
LaumannsM., ThieleL. and ZitzlerE., An efficient, adaptive parameter variation scheme for metaheuristics based on the epsilon-constraint method, European Journal of Operational Research169(3) (2006), 932–942.
16.
PapeC.L., BaptisteP. and NuijtenW., Constraint-Based Scheduling: Applying Constraint Programming to Scheduling Problems. Springer Science + Business Media, New York, NY, USA, 2001.
17.
LuoH., DuB., HuangG.Q., ChenH. and XiaolinL., Hybrid flow shop scheduling considering machine electricity consumption cost, International Journal of Production Economics146(2) (2013), 423–439.
18.
MavrotasG., Effective implementation of the Îţ-constraint method in multi-objective mathematical programming problems, Applied Mathematics and Computation213(2) (2009), 455–465.
19.
MiettinenK., Nonlinear Multiobjective Optimization. International Series in Operations Research & Management Science, Springer US, 2012.
20.
MontanariU., Networks of constraints: Fundamental properties and applications to picture processing, Information Sciences7 (1974), 95–132.
21.
NowickiE. and SmutnickiC., A fast taboo search algorithm for the job shop problem, Management Science42 (1996), 797–813.
22.
OddiA., RasconiR. and CestaA., A multiobjective large neighborhood search methodology for scheduling problems with energy costs. In Proceedings of the International Conference on Tools with Artificial Intelligence (ICTAI 2015). Vietri Sul Mare, Italy. EEE Computer Society, 2015.
23.
OddiA., RasconiR., CestaA. and StephenF., Smith Iterative flattening search for the flexible job shop scheduling problem. In IJCAI 2011, Proceedings of the 22nd International Joint Conference on Artificial Intelligence, Barcelona, Catalonia, Spain, 2011, pp. 1991–1996.
24.
PacinoD. and HentenryckP.V., Large neighborhood search and adaptive randomized decompositions for flexible jobshop scheduling. In IJCAI 2011, Proceedings of the 22nd International Joint Conference on Artificial Intelligence, Barcelona, Catalonia, Spain, 2011, pp. 1997–2002.
25.
PolicellaN., CestaA., OddiA. and SmithS.F., From precedence constraint posting to partial order schedules, AI Communications20(3) (2007), 163–180.
26.
SchausP., HartertR., Multi-objective large neighborhood search. In
SchulteChristian, editor, Principles and Practice of Constraint Programming, volume 8124 of Lecture Notes in Computer Science, SpringerBerlin Heidelberg, 2013, pp. 611–627.
27.
VilímP., BartákR. and CepekO., Unary resource constraint with optional activities. In Principles and Practice of Constraint Programming - CP 2004, 10th International Conference, CP 2004, Toronto, Canada, 2004, pp. 62–76. Proceedings.