Evaluation of heuristics for a branch and bound algorithm to minimize the makespan in a flowshop with blocking

This paper has the objective to evaluate the use of different methods to obtain an initial solution for the branch and bound algorithm with the objective of minimizing the makespan in a flowshop with zero buffer environment. As the problem is known to be NP-Hard, the branch and bound algorithm may take long computational time to find the best solution. The use of an initial solution may reduce the computational time, by providing an initial upper bound. In this work, the efficiency of the use of an initial solution to the Branch and Bound algorithm was evaluated by comparison of the algorithms. The branch and bound algorithm used, as well as the lower bound, was proposed by Ronconi (2005). Four heuristic methods (MM, PF, wPF, and PW) were tested using a 180 problems data. Results show that the use of an initial solution does considerably reduce the computational time.


Introduction
Scheduling is a decision-making process that is used on a daily basis in many services and manufacturing in industry with the goal of optimizing one or more objectives, such as the makespan, number of delayed jobs, among others.It handles the allocation of resource operations (Pinedo, 2008;Nagano & Januário, 2012;Nagano, Silva, & Lorena, 2014;Sobreiro, Mariano, & Nagano, 2014;Nagano, Miyata, & Araújo, 2015;Sagawa & Nagano, 2015a;2015b).
Scheduling is the decision process of the processing order, that is, which job should be processed first and which should be processed next.According to Pinedo (2008) a good programming can lead to a minimization of costs, waste and manpower of a company, allowing much greater projection of growth.
In flowshop environments with zero buffer constraint, there are no intermediate queues between machines, hence, after a job j is processed in machine k and machine k+1 has not finished processing job j-1, job j remains in machine k blocking it from starting the process of job j+1.
Branch and Bound algorithms can be used to solve scheduling problems in flowshop environment with blocking.However, the computational time required to solve big sized problems may be too long.So, an initial solution may be used to try to reduce the number of nodes explored, thereby reducing the total computational time.
The initial solution may be given by heuristics methods.When solving permutational flowshop problems, the heuristic methods may consist of three phases, they are (Framinan;Gupta, & Leisten, 2004): • Phase I -Index Development: in this phase, jobs are arranged according to a certain property based on the data of the problem; • Phase II -Solution Construction: in this phase, a solution is constructed in a recursive manner, trying one or more unscheduled jobs to be inserted in one or more positions of a partial schedule until the schedule is complete; • Phase III -Solution improvement: In this phase, an initial solution is improved by some procedure, usually a descending local search or a metaheuristic.This phase has two main characteristics: it requires an initial solution; the quality of the solution is always equal to or better than the initial solution.
A single heuristic method may consist of one or more of these phases.However, a heuristic consisting of more than one phase must perform them in the given order.
The use of an initial solution does not necessarily reduce the total computational time required by the Branch and Bound algorithm for some reasons: 1.The initial solution may not reduce the number of nodes explored.As the method used to provide an initial solution also requires some computational time, the total computational time required by the algorithm to solve the problem is increased; 2. The computational time required for the method used to provide an initial solution may be longer than, or equal to the computational time reduced by reducing the number of nodes explored.
During the past 40 years, the scheduling problem with the objective of minimizing the makespan in flowshop environment with blocking constraint has been studied by many researchers such as Companys & Mateo (2005); Ronconi (2005); Ronconi & Armentano (2001).This problem, which is described as Fm|block|Cmax according to Pinedo (2008), consists of scheduling n jobs that must be processed by m machines always with the same flow.
McCormick, Pinedo, Shenker, and Wolf (1989) developed an algorithm named Profile Fitting (PF), which is an algorithm for environments with finite size buffer, blocking occurring when these buffers are full.This algorithm takes as the first job in the sequence the one with the smallest sum of processing times in all machines.The result obtained from 5 tests between two variations of PF reveals that the two algorithms have good results for the developed tests, and qualified as one of the best heuristic methods already programmed.Ronconi & Armentano (2001) presented a Branch and Bound algorithm to minimize the total lateness in flowshop environments with blocking constraint.They proposed a lower bound for this criterion, and lower bounds for the makespan and the flow time.Ronconi & Armentano (2001) obtained satisfactory results, significantly reducing the number of nodes to be computed.Ronconi (2004) analyzed the minimization of makespan of a problem in flowshop environment with blocking.An algorithm called MinMax (MM) was compared to the PF heuristic, considered the best algorithm proposed in the literature so far.The results showed that although the MM heuristic achieved good results, it was outperformed by the PF heuristic, which showed potential for major problems.Companys & Mateo (2005) proposed an improved Branch and Bound algorithm to solve these problems and auxiliary heuristics to get a good initial solution in Fm|prmu|Cmax and Fm|block|Cmax problems, in which, prmu refers to the permutational environment.The auxiliary heuristics are built in two steps: in the first step, a permutation is obtained, and in the second step, a local search procedure is applied.Companys & Mateo (2005) concluded that the computational time required to solve Fm|block|Cmax problems is higher than for Fm|prmu|Cmax problems.Companys & Mateo (2005) also presented a Lompen algorithm, which runs two algorithms simultaneously of Branch and Bound.They solved eight problems unsolved by other methods.Ronconi (2005) developed an algorithm that exploits the occurrence of blocking in order to minimize the makespan time.Computational experiments proved that the proposed lower bound works better than the lower bound from Ronconi & Armentano (2001).As an extension of his work, Ronconi (2005) proposes the development of a dominance rule, some different node selection strategies, and the use of different methods to provide an initial solution for the Branch and Bound algorithm.
Pan & Wang (2012) adapted the PF algorithm (McCormick, Pinedo, Shenker, & Wolf, 1989), creating an improved form called PW and the algorithm Weighted Profile Fitting (wPF) that follows the same rules as the PF method, except that there is a weight factor w i.The results showed that both wPF and PW achieved better results than MM and PF.Also an insertion algorithm was applied, resulting in an improvement of 1.5% in CPU processing time.

Material and methods
Branch and Bound is a widely used method for solving difficult combinatorial optimization problems.Typically, the Branch and Bound method is characterized by two fundamental procedures (Rios-Mercado and Bard, 1999): • Branching: problem division into one or more smaller sub-problems.
• Bounding: Process of calculating a bound (lower and/or higher) to the evaluation criteria used.
The branching procedure replaces the initial problem with a new smaller set of problems than the original.This method is used to find the most accurate solution, systematically analyzing the subsequences of possible solutions.
For the scheduling problem, each node of the Branch and Bound corresponds to one subproblem, which is defined by a subsequence of jobs.Each subsequence is called partial sequence (PS) and the set of jobs that are not in PS is called non-partial sequence (NPS).When a node is branched, one or more nodes can be generated by adding one or more jobs to the partial sequence associated with the node that was branched.The next node to be branched is the one with more jobs in the partial sequence.In case of ties, the algorithm selects a node with the smallest lower bound (Ronconi, 2005).The lower bound is calculated for each node.
The Branch and Bound method can consume a high computational time when dealing with larger problems.One way to reduce the computational time is to implement an initial solution to the problem, which can result in a possible gain in terms of computational time by decreasing the number of explored nodes.
An initial solution provided by a phase I heuristic method was applied together with the Branch and Bound algorithm, as an initial upper bound for the problem, this may result in a reduced computational time.The initial upper bound may reduce the need to explore nodes, therefore reducing the number of nodes to be branched.However, the computational time required to generate an initial solution may be longer than the computational time required to solve the nodes that were not explored, thus resulting in an even longer computational time.
In this paper, we evaluated the efficiency of an initial solution to reduce computational time and which phase I heuristic method provides the best improvement to the computational time.The Branch and Bound algorithm as well as the lower bound were proposed by Ronconi (2005).

Lower bound
The lower bound for the makespan is obtained by calculating the lower bound for the completion time of the last job in NPS on machine m.The lower bound used for the Branch and Bound algorithm was proposed by Ronconi (2005).The completion time of the last job on machine m is longer than or equal to LB2, according equations 1 and 2: where: m is the number of machines;

Initial Solution
The best phase I heuristics methods for Fm|block|Cmax were used to provide an initial solution for the Branch and Bound algorithm.Those are MinMax (MM), Profile Fitting (PF), Weighted Profile Fitting (wPF) and PW.
MinMax (MM) algorithm, proposed by Ronconi (2004), initially sets the job with the shortest processing time on the first machine as the first job in the sequence, and then sets the job that has the shortest processing time on the last machine as the last job in the sequence.For the remaining jobs, the next job in the sequence (c) after the already scheduled job (i) is the one that gets the smallest result in equation 3.Where α is a constant used to weight the two terms of the expression.
The Profile Fitting (PF) algorithm, created by McCormick, Pinedo, Shenker, and Wolf (1989), works in two phases: 1. Sets the first job in the sequence as the one with the smallest sum of processing times on all machines; 2.Then, the next position in the sequence (c+1) belongs to the job with the smallest sum of idle and blocking times.Equation 4 is used to calculate the possible sum of idle and blocking times provided by the insertion of each job that has not yet been sequenced in position (c+1) of the sequence.The job (j) that obtains the smallest value for , is determined as the next job (c+1) in the sequence equation 4.
Idle and blocking times caused by earlier jobs and by earlier machines may have larger effects on the makespan value than those caused by later jobs and machines.Therefore, the Weighted Profile Fitting (wPF) algorithm, proposed by Pan & Wang (2012), applies a weight factor (w k ) to δ j,c , which differentiates the effects of idle and blocking times on machines in different stages and jobs in different positions.As in the PF algorithm, the first job of the sequence is the job with the smallest sum of processing times on all machines.Then, the next job (c+1) in the sequence is the job j with the smallest value of δ j,c calculated by equation 5.In which, w k is defined by equation 6: where: n is the number of jobs; c is the position of the last scheduled job.The job j selected may also affect the idle and blocking times of the remaining jobs in |NPS|.Therefore, Pan & Wang (2012) proposed the PW algorithm, which seeks to minimize the idle and blocking times and the effects on the starting and completion times of later jobs.Equation 5 is used to estimate the idle and blocking times caused by the indexing of job j in position (c+1) of the sequence.Then, equation 7 is used to estimate the idle and blocking times of the remaining jobs in |NPS|: where: k v P , is the average processing time of all the remaining jobs in |NPS|, and is calculated by equation 8; ( ) Combining the idle and blocking times caused by the insertion of jobs j in position (c+1) and the estimated idle and blocking times caused by the insertion of the artificial job v in position (c+2), it is obtained f j,c , calculated by equation 9.
( ) where: (n -c -2) is used to balance the idle and blocking times caused by job j and the effects of job j on later jobs.The first job in the sequence is the job j with the smallest value for f j,0 .Then, for the remaining positions of the sequence, the job j that obtains the smallest value for f j,c is scheduled as the next job in the sequence (c+1).
In order to evaluate the efficiency of using an initial solution to reduce computational time, it was compared the algorithms to find out which had the lowest computational time and the lowest number of nodes explored.To determine the best algorithm, it was used as a parameter the relative deviation, equation 10, which measures the relative distance of the solution found by this algorithm (DM) to the best result obtained (DM*) by all the algorithms.In this paper, the mean relative deviations were used to compare computational times and number of nodes explored to find the best algorithm for each class.First, it was compared the mean relative deviation of the computational time (CPU time) of each class of problems, as shown in Table 1.Table 2 lists the mean relative deviation of the number of nodes explored for each class of problems.Table 3 presents the mean relative deviation of the computational time (CPU time) and number of nodes explored of all nine classes of problems to determine which, among the compared methods, had the shortest computational time and the minimum number of nodes explored.
Analyzing Table 1, it can be noted that in the first problem class (with 10 jobs and 2 machines), the MM method associated with Branch and Bound greatly outperformed all other methods.The results obtained in this class may distort the final result.Therefore, another comparison was made without considering the first class of problems.The new comparison is presented in Table 4.With data in Table 4, it is possible to observe that PW was the heuristics that reduced most the total computational time and the number of nodes explored by the Branch and Bound algorithm.
Analyzing Table 1, it can be verified that the PW method associated with Branch and Bound tends to provide better results as the number of machines increases.With fewer machines, the MM method associated with Branch and Bound seems to provide better results than PW.This can be explained by the quality of the results obtained by the PW algorithm, which is better than that provided by MM algorithm (Pan & Wang, 2012), however requiring a longer computational time.In some cases, even when the number of nodes explored in smaller problems for the MM method associated with Branch and Bound algorithm is greater than or equal to the number of nodes explored for the PW method associated with Branch and Bound algorithm, the computational time of the MM method associated with Branch and Bound algorithm was shorter.This is due to the computational time required to calculate the lower bound for each node, which is shorter for fewer machines.In this way, for problems with fewer machines, the computational time required to solve the heuristics (which provides the initial solution) seems to affect more the total computational time than the quality of the initial solution itself.
The experiments showed that the use of the Branch and Bound algorithm achieves a good performance for problems considered NP-Hard.In terms of computational time and number of nodes explored, the use of an initial solution obtained better results than the classic application of Branch and Bound in eight out of the nine classes of the analyzed problems.

Conclusion
The best heuristic methods in the literature were applied to get an initial solution to the Branch and Bound algorithm.Computational tests suggest that the use of an initial solution improves the results in terms of computational time to execute the algorithm.It is recommended to run the tests in a more diversified database.Other heuristics can be used with the Branch and Bound algorithm to compare the results.Some other lower bounds for the makespan can also be tested for comparison.Also, a dominance rule may be applied to reduce the number of nodes that need to be explored.
the departure time of the last job in PS in machine k; q p min is the shortest processing time on machine k among all jobs in NPS; g k a is the g-th shortest processing time on machine k among the jobs in NPS; times of jobs in NPS on machine k among the jobs in NPS on machine k+1 without

Table 1 .
Mean relative deviation of CPU times of each problem class.

Table 2 .
Mean relative deviation of number of nodes explored of each problem class.

Table 3 .
Mean relative deviation of CPU times and number of nodes explored for all problem classes.

Table 4 .
Mean relative deviation of CPU times and number of nodes explored for all problem classes without considering the first class of problems.