A Branch-and-Bound Algorithm for Minimizing the Energy Consumption in the PFS Problem

This paper considers the energy consumption minimization in permutation flow shop (PFS) scheduling problem. The energy consumption of eachmachine is decomposed into two parts: useful part which completes the operation at current stage and wasted part which is consumed during idle period. The objective considered here is to minimize the total wasted energy consumption which is a weighted summation of the idle time of each machine. To solve this new problem, a branch-and-bound algorithm is developed. Two lower bounds are proposed, and an initial upper bound by using a variant of NEH heuristic algorithm is applied. Compared with the makespanminimization criterion, this model deduces more energy-saving solutions. Experimental results also validate the efficiency of the proposed algorithm for problems with job number not larger than 15.


Introduction
In 2011, world primary energy consumption grew by 2.5%, roughly in line with the ten-year average [1].It is projected to increase by approximately 30% until 2030 [2].Mankind is faced with more and more adverse conditions of energy resource exhaustion and environmental pollution.Manufacturing industry uses a relatively high share of the amount of total energy consumption of each year.This is especially true in developing countries, such as the BRIC: Brazil, Russia, India, and China.In recent years, scientists and engineers have paid more and more concerns on how to save energy and reduce green gas emission in manufacturing process.There arise several different directions being pursued in academia and industry, which are categorized by the implementation strategies for saving energy by management, technology, and policy [3].
Scheduling is one of the main manners in production and operation management.It deals with the allocation of scarce resources to tasks during manufacturing process.The researches on this topic began to be taken seriously in manufacturing at the beginning of the last century with the work of Gantt and other pioneers [4,5].More interest had been paid after the first scheduling publication appeared in the early 1950s by Johnson [6].In the past six decades, most scientists considered the scheduling problems with particular emphasis on the time requirement.They adopted various objective functions of the completion time of the involved jobs, such as makespan, weighted completion time, lateness, and tardiness [4,5,7,8].We refer to them as job-based objectives.In manufacturing processes, energy consumption is mainly characterized by the power, process time, and state of all involved machines, which deduces a machinebased criterion.Mouzon and Yildirim [9] first addressed the energy consumption combined with job-based objective (total completion time and total tardiness) on single machine.They measured the total energy consumption by summation of idle power and machine-dependent setup power.Actually, for single machine case, the idle time is controlled by the release time of each job.The key for saving energy in this case is to determine if the machine should be turned off during idle time.Liu et al. [10] gave the mathematical model for hybrid PFS problem to minimize the energy consumption.A conventional genetic algorithm is adopted.Fang et al. [11] presented a multiobjective model to minimize the makespan, the energy consumption, and the carbon emission.A simple case study is provided for the production scheduling of cast iron plates on two machines.
To the best of our knowledge, there were very limited literatures which considered the energy requirement in scheduling problems.Previous few papers focused on the studies of framework modeling for specific industrial implications.In this paper, we begin the research of energysaving scheduling within the basic permutation flow shop (PFS) problem.The energy consumption of each machine is decomposed into two parts: the useful part which completes the operation at current stage and the wasted part consumed during idling period.Hence, the objective in this model is to minimize the total idle energy consumption.It is formulated by a function of weighted idle time on each machine, as the weight is the machine power.For solving this model, we develop a branch-and-bound algorithm in which two lower bounds and an upper bound are proposed and applied.
After this introduction, we describe the problem dealt with and detail the energy-saving PFS model in Section 2. The branch and bound algorithm is set out in Section 3, in which two lower bounds and a heuristic procedure are proposed to delineate the total energy consumption of PFS model.Computational results and comparative analysis on Car's instances and 2400 randomly generated instances are shown in Section 4. Finally, the main conclusions are included in Section 5.

Problem Description
In the PFS, there are a set  = {1, 2, . . ., } of jobs and a set  = {1, 2, . . ., } of successive machines.Each job  consists of  operations { 1 ,  2 , . . .,   }, where each operation   for job  is to be processed on machine  for   time units, and   must precede   if  < .We assume that the rated output power of machine  is   .The total energy consumption is decomposed into two parts as follows: where  denotes the useful energy consumption and  denotes the wasted energy consumption.In the PFS problem, the useful part  is the minimum energy consumption required for completing all the jobs independently.It is the summation of the theoretical value of each job; that is, To characterize the wasted part of energy consumption  in the basic PFS problem, we first introduce the following assumptions.
(A1) Machines are turned on as soon as the first job arrives and turned off when the last job leaves.(A2) Machines will keep being idle during two successive jobs.
Assumption (A1) indicates the start time and complete time of each time.Assumption (A2) indicates that the waste part involved arises only from being idle on each machine.It is the weighted summation of the idle time of each machine; that is, where   is the total idle time of machine  during the whole process.Therefore, the objective of the energy-saving PFS problem is to minimize the total idle energy consumption .We denote this model by   ||.For a given job sequence ( 1 ,  2 , . . .,   ), the mathematical expression of   || is listed as follows: where  ,[] is the idle time of machine  before starting operation  ,[] , and  ,[] is the completion time of job   on machine .For solving the proposed   || problem, we derive a branch and bound algorithm to seek the optimal solution for energy-saving objective in the next section.

Branch and Bound Algorithm
The branch-and-bound algorithm is a good choice for solving the small job-size PFS problems as a result of its NP-hard property [5,7,8].In this section, we first provide a heuristic method for generating the initial upper bound, then followed by two lower bounds and a branching scheme to reduce the size of the set of feasible solutions, and finally the description of the proposed branch-and-bound algorithm.

An Initial Upper Bound.
To construct an efficient branch and bound algorithm, an initial solution should be adopted to generate an upper bound as a benchmark.In this subsection, we extend the well-known NEH heuristic method into   || problem with a correction procedure as the final step.Two operation notions are introduced for the sake of clearness.Given a sequence  of  elements, define the inserting operator as and the extracting operator as Then, the procedure of the proposed heuristic algorithm is listed as follows.
Step 1. Compute the useful energy consumption   for each job, and sequence all jobs by their nonincreasing order of   to obtain a priority sequence ; set  = 1 and  = 0.
The last step in the proposed algorithm is a correction procedure which adjusts the arrangement at the first position.
Experimental results show that the correction procedure plays an important role in improving the solution.

Lower Bounds.
For the PFS scheduling problem including  jobs, assume a sequenced job order  and the remaining subset  of unsequenced jobs; the completion time on machine  has where  = || is the length of sequence .Applying (3), the total idle energy consumption on machine  is evaluated as follows: in which (, ) denotes the idle energy consumption of subsequence  on machine .Hence, the first lower bound for total idle energy consumption is McMahon and Burton [12] introduced (for  = 3) a jobbased bound based on which a lower bound of the idle energy consumption can be derived as follows: Hence, the second lower bound for total idle energy consumption is 3.3.Branching Scheme.A branching scheme indicated how all the nodes in a spanning tree are traversed.The route of accessing nodes from top to down represents a feasible candidate sequence.For a branching scheme to be truly effective, it needs to select such a job as current node that the deduced subproblem, consisting of remaining jobs, has better performance.In this paper, we select the current node based on its bound value; that is, the nodes with lower bounds have relatively high priority.Figure 1 depicts the branching procedure and the inchoate tree structure of a PFS problem with four jobs.In each level of the tree, all candidate nodes are sequenced by their lower bound with nondecreasing order.Depth first search is applied then sequentially.

Algorithm Description
Step 1 (initialization).Use the proposed variant of NEH algorithm to generate an initial solution, and calculate its idle energy consumption as the upper bound.Initialize a sequence  of elements representing the tree nodes with size of (+1)/2 and a set  representing all the involved jobs with size of .
Step 2 (branching).Calculate the lower bounds of all the nodes in  by calling the bounding procedure, and add them into  with non-decreasing order of lower bounds.Check the termination condition.Traverse all the new nodes; if the lower bound of current new node is smaller than the global upper bound, then remove the current node from  and call the branching procedure.
Step 3 (bounding).Calculate the lower bound of current node by using ( 9) and ( 12).If  is empty and the upper bound is larger than the lower bound, replace the upper bound with the lower bound of current node.
Step 4 (termination).All branching procedures are completed, or the upper bound is zero.
It can be seen that the procedure of the branch and bound algorithm proposed earlier only requires computer memory with size of ( 2 /2).

Computational Results
We conducted computational experiments to evaluate the performance and the efficiency of the proposed model and algorithm.The programme is coded in VC++6.0.All the test problems were run on a Pentium 4-3.10 GHz desktop with RAM size of 2 Gbytes.

Performance Test.
In order to test the performance of the proposed branch and bound algorithm, eight different numbers of jobs ( = 8, 9, . . ., 15) and three different numbers of machines ( = 5, 10, 20) were used.For each combination of problems with different sizes, 100 instances with randomly generated integral processing time in [1,100] were tested.All involved machines have identical output rated power.The number of nodes and CPU time for solving each instance by using the proposed algorithm were reported.The mean value and standard deviation are given in Table 1.It can be seen that the node numbers and CPU time increase dramatically with job number .For  = 8, 9, 10, 11, the node numbers and cpu time increase steadily with machine number ; however, for  = 12, 13, 14, 15, the node numbers with  = 10 are obviously less than those with  = 5 and 20, while the cpu time is still larger than the others.This indicates that the branching scheme is more effective when  and  are close, and the CPU time is mainly determined by the computational consumption for lower bound.Table 1 also shows that the proposed algorithm has good performance for problems with  not larger than 15.
To demonstrate the performance of the proposed NEH heuristic algorithm for the energy-saving PFS problem, the deviation between the initial solution and the optimal solution for the tested instances was evaluated.Similar within [7,8,13], the deviation ratio of  is defined as follows: in which   is the energy consumption of the initial solution for instance  generated by the proposed NEH algorithm, while  *  is the optimal (minimum) energy consumption calculated by the proposed branch and bound algorithm.The evaluated instance set is Γ  = { |  ∈ Γ,   ̸ = 0}, where Γ is the test set consisting of 100 randomly generated instances.Figure 2 depicts the computational results of WDR for the problems with different sizes.It can be seen that the proposed heuristic algorithm generating the initial solution has better performance when  is small.The WDR mainly increases linearly with job number .However, the maximum deviation is not beyond 40%, which indicates that the proposed heuristic NEH algorithm has good performance.
From the results in Table 1, we can see that the branchand-bound algorithm is timeconsuming while it can find the exact optimum.For large job-number problem, heuristic algorithm might be a good alternative.We test the cpu time of the proposed heuristic algorithm.Figure 3 shows the results for problems with 5, 10, 20 machines and 10, 20, 30, . . ., 100 jobs, respectively.It can be seen that there are some gaps between the results of  = (5, 10) and  = (10, 20), which indicates that the cpu time consumed is proportional to machine number .On the other hand, the cpu time is approximately polynomial with respect to job number .It can be concluded from numerical results that the proposed heuristic algorithm has good performance for solving large job-size PFS problem.

Efficiency Validation.
In this subsection, we validate the efficiency of saving energy of the proposed model by comparison with makespan minimization model in the PFS problem.The open-accessing instances presented by Carlier [14] were selected for the test instances.The efficiency ratio of energy consumption and completion time is defined as follows: in which  * and  max are the wasted energy consumption and, completion, respectively of the solution calculated by the proposed energy-saving model, while  and  * max are calculated by the makespan minimization model.For each machine involved in Car's instances, the rated output powers are set equal to one.Table 2 shows the detailed results of eight Car's instances.The comparative results are depicted in Figure 4 for each instance.It can be seen that the solution of the proposed model can reduce the wasted energy dramatically while keeping completion time increase in a small range.

Conclusions
This study has investigated the   || problem by using a branch and bound algorithm.The energy consumption  in proposed model is decomposed into useful part and wasted part.The wasted energy consumption is assumed to arise from the idle of machine between two successive jobs.It is a weighted function of the idle time of all involved machines.To solve the proposed   || problem, a branch and bound algorithm is proposed.Two lower bound, and an improved NEH heuristic algorithm are applied.Numerical experiments show the good performance and high efficiency of the proposed model and algorithm.
To the best of our knowledge, this is the attempt to give a branch and bound algorithm for dealing with the energy-saving optimization in PFS problem.However, this research topic has a wide need in practice.A further discussion on   || problem with setup time, deteriorating jobs, and limited buffer will be reported in the future work.

𝑆Figure 1 :
Figure1: The branching tree in the proposed algorithm, in which each branch is represented by the current selected jobs, while the deduced node is characterized by its lower bound.

Figure 2 :
Figure 2: The deviation ratio of  (WDR) varies against the job number  and machine number .

Figure 3 :
Figure 3: The CPU time consumed by the proposed heuristic algorithm for solving large size PFS problem.

Figure 4 :
Figure 4: The efficiency ratio of energy and time by comparison of the proposed energy-saving model and makespan minimization model for Car's instances.

Table 1 :
Performance test of the proposed algorithm for problems with different sizes, each including 100 randomly generated instances.

Table 2 :
Results of Car's instances for makespan minimization and energy consumption minimization.