Keywords

1 Introduction

A linear model is proposed in this paper which goal is to extend a previous work [1] concerning the scheduling in a job-shop like manufacturing environment with an energy threshold which must not be exceeded. Operations presenting two distinct energy consumptions are considered as follows: a peak consumption at the beginning of the process and a nominal consumption after the peak’s end. The previously proposed linear model [1] is extended in order to manage variations in the allowed energy threshold. Thus, the objective is to find the best feasible schedule of the problem where operations need electricity in order to be realized and where the instantly usable energy is constrained and varies with time. The model of the problem could have many applications especially in scheduling operations efficiently according to price variations during given periods, or avoid exceeding predefined consumption peaks that have been negotiated with the electricity supplier.

The rest of the paper is as follows. In the next section a literature review of articles including energy constraints is proposed. In the third section, the assumptions made in this study are presented. The fourth and fifth sections introduce a linear program modelling the problem and experiment results. Finally we conclude and give some directions for future research.

2 Related Work

In the literature, industrial problems such as minimizing the total completion time (makespan), the cost, and other objective functions have been widely studied. Although the energy efficiency in manufacturing is well-addressed in the literature (see for survey [2] only a few works addressed the energy consumption as an important constraint in scheduling [3]. However, several papers have spread on this subject concerning the “Green Manufacturing” these past years and a non-exhaustive review is proposed in this section.

Reference [4] proposed several methods and operational tools to minimize the energy consumption of factories. They present a mathematical formulation aiming at minimizing the total completion time of a set of operations while minimizing the total energy consumption. Their model handles the different states a machine can be in: idle, running, switch ON or OFF. Reference [5] showed that a more energy efficient system is more robust and thus less sensitive to breakdowns. They worked on the correlation between makespan, energy and robustness. By inclusion of variable speeds in the operation processes, a machine which is processing a task quickly will consume more energy but the treatment time will be reduced. Thus if a breakdown occur, the lost time could be caught up by increasing processing speed. The model of [6] consists in minimizing the carbon footprint, the makespan and the consumption peaks in a Flow-shop. In their work [7] authors proposed a solution which consists in avoiding consumption peaks on a production system, modelled as a Flexible Flow Shop. They use an Energy Aware Scheduling (EAS) on the existing schedule obtained with an APS (Advanced Planning and Scheduling). They finally note the fact that their model could be better, integrating variability of costs and energy need of machines which is constant in their study. Reference [8] took into account the variable prices of electricity during a day, including Time-of-Use (TOU) rates in a Flexible Flow-shop. It is observed that a few work have been done concerning the Job-shop with energy constraints and thus they proposed a Job-shop where both the total energy consumption and the total tardiness are minimized.

In a previous work [1], a linear model for the Job-shop with Energy Consumption Threshold (JS-ECT) is proposed where each operation has two different energy consumption: a high energy consumption at the beginning of the operation, called a peak consumption, and a lower energy consumption for the rest of the operation. In this mathematical formulation, the energy threshold is constant during the schedule. Thus, an improved linear program where this energy threshold could change over time is proposed. In the next section the assumptions used in this paper concerning the Job-shop with a Variable Energy Consumption Threshold (JS-VECT) where the operations to be scheduled present an electricity consumption peak at their start are presented.

3 Assumptions Used

3.1 Physical Assumptions

This study is based on the Job-shop theoretical model which is known to be a NP-Hard problem (see for review [9]). The Job-shop problem consists in scheduling a set of n jobs that have to be sequenced on m machines. Each job involves a set of operations, which must be processed in a pre-determined order. Each operation has to be processed on a given machine during a processing time and no pre-emption is allowed. A commonly used objective in Job-shop problem is the minimization of completion time of all jobs (makespan) by managing machine disjunctions.

3.2 Energy Assumptions

While doing the literature review concerning energy optimization on production systems, two things appeared. First, the operations are generally represented with constant energy consumption as shown in [7] where operations have a unitary consumption. However, it can be seen in the literature that machine operations have complex energy behavior where most of the time operations present an energy consumption peak at the start of processing as shown in the work of [10] concerning lasers. An example of real world energy profile for machines tool is given in Fig. 1. In this figure is also plotted the energy representation commonly observed in the literature and the representation chosen in this study. In the proposed representation the first part of the diagram represents the consumption peak and the second one corresponds to the processing energy consumption. Secondly, studies concerning scheduling under consumption peaks constraints often consider a constant available energy over time, however this available energy could vary over time because of a negotiated contract with the energy supplier, or in order to model the cost of instantly useable electricity.

Fig. 1.
figure 1

Power profile of a machine and its representations [1]

In the Fig. 1, it can be easily understood that considering a constant energy consumption for the operations imply a possible loss of time while scheduling since some operations cannot be planed earlier because of an operation consuming more energy than really needed. Considering this assumption, it has been chosen to divide the operations into two sub-operations: one concerning the high energy consumption peak, and the other concerning the operating energy consumption. Finally, a variable energy threshold that must never be exceeded is introduced (i.e.: from 0 to 50 time units, 70 kW are allowed; from 50 to 80, 50 kW are allowed; etc. …). An example of a schedule including a varying energy threshold and operations considering peak consumption is given in Fig. 2.

Fig. 2.
figure 2

A Gantt chart of a schedule involving energy threshold variations

In Fig. 2, two jobs must be processed: Job J 1 , which routing pass through Machine M 1 and M 2 , and job J 2 passing through M 2 and M 1 . Vertical dotted lines represent the separation between peak consumption of operations and nominal consumptions. In this example, second operation of J 2 cannot be started earlier because of a reduction in the available energy threshold. This variation will be modelled with use of dummy operations which starting dates correspond to the moment of energy threshold change and energy consumption equal to the variation (i.e.: between threshold valued 60 and threshold valued 25, a dummy operation will need 35 energy units).

In this section the different energy assumptions used in this study are presented. In the next section the mathematical formalization of the JS-VECT is introduced.

4 Linear Modelling

4.1 Parameters

M :

: set of machines;

J :

: set of jobs;

V :

: set of all the sub-operations (|V| = 2·|M|·|J|);

T :

: set of events corresponding to energy threshold change;

V + :

: set V adjoined with dummy vertices (|V +|=|V| + |T|);

i ,j, k, l :

: indexes representing the different operations;

O i :

: global operation of the sub-operation i, i ∈ V;

J i :

: job of the operation i;

p i :

: duration of operation i;

T k :

: time of energy threshold change (i.e.: k = 0 corresponds to first threshold);

μ i :

: machine required to process sub-operation i, μ i  ∈ M;

H :

: a large positive number;

E i :

: energy required for processing the operation i;

E max :

: maximum energy that must never be;

4.2 Variables

C max :

: completion date of all operations also referred as the makespan of the schedule;

s i :

: starting time of sub-operation i;

x i,j :

: binary variable equal to 1 if sub-operation i is realized before sub-operation j and equal to 0 otherwise;

y i,j :

: binary variable equal to 1 if there is a non-null energy flow from sub-operation i to the sub-operation j and equal to 0 otherwise;

φ i,j :

: denotes the number of energy units transferred between entities of the system (could be real or dummy operations);

4.3 Linear Formulation

$$ Min\;C_{\hbox{max} } $$
(1)
$$ s_{i} + p_{i} \le C_{max} ,\;\forall i \in V $$
(2)
$$ x_{j,k} + x_{l,i} = 1,\;\forall i,j,k,l \in V/i < j,\,k < l,\,O_{i} = O_{j} ,\,O_{k} = O_{l} ,\,i \ne k,\,\mu_{i} = \mu_{k} $$
(3)
$$ s_{j} - s_{i} \ge p_{i} ,\;\forall (i,j) \in V/i < j,\,J_{i} = J_{j} $$
(4)
$$ s_{j} - s_{i} = p_{i} ,\;\forall (i,j) \in V/i < j,\,O_{i} = O_{j} $$
(5)
$$ \begin{array}{*{20}c} {s_{j} - s_{i} - Hx_{i,j} \ge p_{i} - H,\;\forall i,j \in V/O_{i} \ne O_{j} ,\,\mu_{i} = \mu_{j} ,} \\ {mod(i,2) = 0,\,mod(j,2) = 1} \\ \end{array} $$
(6)
$$ \sum\nolimits_{{j \in V^{ + } }} {\varphi_{0,j} } \le E_{max} $$
(7)
$$ \sum\nolimits_{{j \in V^{ + } }} {\varphi_{0,j} } = E_{j} ,\;\forall j \in V^{ + } /i \ne j $$
(8)
$$ \sum\nolimits_{{j \in V^{ + } }} {\varphi_{0,j} } \le E_{i} ,\;\forall i \in V^{ + } /i \ne j $$
(9)
$$ \varphi_{i,j} = min(E_{i} ,E_{j} ),\;\forall (i,j) \in V/i < j,\,O_{i} = O_{j} $$
(10)
$$ s_{k} = T_{k - \left| V \right|} ,\;\forall k \in V^{ + } \backslash V $$
(11)
$$ \varphi_{i,j} \le H.y_{i,j} ,\;\forall i,j \in V^{ + } /i \ne j $$
(12)
$$ y_{i,j} \le \varphi_{i,j} ,\;\forall i \in V^{ + } /i \ne j $$
(13)
$$ s_{j} - s_{i} - Hy_{i,j} \ge p_{i} - H,\;\forall (i,j) \in V^{ + } /J_{i} \ne J_{j} $$
(14)
$$ \varphi_{j,i} = 0,\;\forall (i,j) \in V/i < j,\,J_{i} = J_{j} $$
(15)

The first line (1) refers to the objective of the problem: minimizing the completion time of all operations (makespan). Constraints (2) give the expression of the makespan. Constraints (3) represent the precedencies for sub-operations occurring on the same machines (i.e.: whether the first sub-operation of a global operation is scheduled before a second sub-operation on another global operation, or vice versa). Constraints (4) define the starting dates of operations according to job’s sequence. Constraints (5) ensure that, if i and j are two sub-operations referring to the same global operations, then j is processed directly after the end of the sub-operation i. Constraints (6) adjust the starting dates of operations that belong to different jobs but need the same machine. Constraint (7) avoids to exceed the maximal energy threshold when processing the operations. Constraints (8) ensure that the sum of energy flowing from dummy operations, sub-operations and energy threshold is equal to the energy needed for the sub-operation j. Constraints (9) ensure that the sum of energy flowing from dummy operations or the sub-operation i to the other ones never exceeds the energy that was used for its processing. Constraints (10) is a cut corresponding to a flow of energy between first and second sub-operation of the same global operation. Constraints (11) fix the starting dates of the dummy operations that represent the variation of the energy threshold over time. Constraints (12) ensure that if there is an energy flow from i to j then y i,j  = 1. If y i,j  = 0 then no flow is possible from i to j. Constraints (13) stipulate that if there is no need of a flow from i to j (φ i,j  = 0), then necessarily y i,j  = 0, however if y i,j  = 1 then necessarily φ i,j  > 0. Constraints (14) adjust the starting dates of sub-operations which need to wait before the end of previous operations in order to not exceed the energy threshold available at the moment. Constraints (15) stipulate that no flow is possible between two sub-operations i and j, if i and j belong to the same job and if i is processed before j.

5 Results

The validity of the above linear program has been tested on a set of small examples (including the one presented in Fig. 2) randomly generated. The linear model is solved using CPLEX 12.4 solver. In Fig. 3 is presented the Gantt diagram of a problem without any energy consideration and the Gantt diagram of the same problem extended with energy consumptions and an energy threshold varying over time. In this figure, it is also plotted the energy consumed by each operation to show the impact of the threshold on the schedule.

Fig. 3.
figure 3

Impact of the energy threshold on schedules

On Fig. 3 it can be stressed that third operation of J 3 is the most consuming one and can only be scheduled during a given time-window, thus all its predecessors on the job must be scheduled before. The other operations start only if enough energy is available. Finally, it can be clearly seen that two things can affect the schedule while considering a variable energy threshold: the moment energy threshold change and the value of allowed energy after a change. According to chosen values it is possible that no schedule will fit the energy threshold profile.

6 Conclusion and Future Work

In this study the problem of the Job-shop with a Variable Energy Threshold Constraint (JS-VECT) is addressed. The linear model considers operations that have two types of energy consumption: a huge energy consumption, and a nominal energy. Furthermore, the available energy at each moment of the schedule could change over time. This is modelled by inclusion of dummy operations which have a predefined energy consumption and whom starting dates are fixed. The linear model provides exact solutions for small scale instances, but is quickly overtaken with the increasing of jobs and machines. In the future larger scale instances for the problem will be treated with the use of a metaheuristic. Several perspectives appear as future works. Indeed, the energy threshold is considered as a parameter in this study, and it could be really interesting to consider it a variable to be calculated thus leading to a bi-criteria problem where the objective is to display a Pareto graphic of the possible solutions. Another perspective is to consider due dates since starting dates of operations are modified in order to respect the energy threshold, and with them the ending dates of operations or jobs. Finally, it could be interesting to add other objectives such as minimizing the cost of the production by inclusion of time-of-use considerations, or minimizing the total energy needed in the planning.