Improved Tabu Search for Parallel Identical Machines with Availability Zones ( Tz , Sz )

In this study we propose a new polynomial metaheuristic elaboration (tabu search) for solving scheduling problems. This method allows us to solve the scheduling problem of n Tasks on m identical parallel machines with availability zones (Tz, Sz). Since this problem is NP-complet in the strong sense and finding an optimal solution appears unlikely, we suggested an heuristic based on choosing the most available machine. To improve the performance of this heuristic, we used diversification strategies with the aim of exploring unvisited regions of the solution space and two well-known neighborhoods (neighborhood by swapping and neighborhood by insertion). It must be noted that tasks movement can be within one machine or between different machines. Note that all data in this problem are integer and deterministic. The performance criterion to optimize in this problem which we denote //∑ is the weighted sum of the end dates of tasks.


INTRODUCTION
A scheduling problem consists in organizing tasks realization time with consideration of time constraints (time limits, tasks series character) and constraints related to using and availability of required resources.
The scheduling constitutes a solution to the considered problem, describes the tasks execution and resources location during time and aims to satisfy one or many objectives.
A scheduling problem under machines availability constraints has been studied by many authors.For example P m //N -C//C max has been studied by Lee (1996Lee ( , 1997Lee ( , 1999) ) and Schmidt (2000).The tabu search is a metaheuristic originally developed by Glover and Hanafi (2002) and independently by Hansen (1986).
This method combines a local search procedure with a certain number of rules and mechanism which allows surmounting the obstacle of local optima without cycling.Toward furthermore, it proved high efficiently in resolution of the problems NP-complet and approximate more the optimal solution.
The scheduling problem of a single machine with minimization of the weighted sum of the end dates of tasks.Without unavailability constraint is optimally resolved by using the WSPT (Weighted Shortest Processing Time) rules.The case of several machines is studied by many authors like Belouadah et al. (1992), Sadfi (2002) and Haouari and Ladhari (2003).Sakarovitch (1984) and Schmidt (2000) has studied the scheduling problem of parallel identical machines with different unavailability intervals and different tasks deadlines.He used the method of Branch and Bound based on two procedures: the first is the generation by decomposition and cut approach and the second is the hybridization of procedures of generation by cut.He also built an admissible preemptive scheduling of a complexity O (n/mln n) where n is the number of tasks and m is the number of machines.Lee (1999) have studied the simultaneous scheduling of production works and maintenance activities in parallel identical machines to minimize the weighted sum of the end dates of tasks.They have studied two cases: The first, with sufficient number of resources, concerns the case where several machines can be checked up simultaneously (overlap of unavailability periods).The second case, with insufficient number of resources, concerns the case where only one machine can be checked up (overlap of unavailability periods not allowed).They could demonstrate that even if all tasks have the same weight, the problem is NP-hard.They proposed the method of Branch and Bound based on the approach of columns generation to solve the two cases.They have published an experimental study on average size instances.Kacem et al. (2005) have studied the problem 1 // ∑ and have compared two exact methods: one is the Branch and Bound, the other is the integer programming.They have concluded that Branch and Bound method have better performance and it allowed resolving instances of more than 1000 tasks.Adamu andAdewumi (2012, 2013) have studied the problem ∑ , they proposed some metaheuristics for scheduling on parallel identical machines to minimize weighted number of early and tardy jobs.Yun-Chia et al. (2013), they carried out a comparative study of different (a genetic algorithm, particle swarm optimization and simulated annealing with their hybrids) metaheuristics for identical machines.
In this study, the results of Adamu andAdewumi (2012, 2013) research works are exploited to develop a different new metaheuristic to solve the scheduling problem under different constraints.
Problem statement: This problem consists in scheduling n tasks for m parallel identical machines {M 1 , M 2 , …, M m } where n>>m≥2, with unavailability periods.
We assume that the tasks {j 1 , j 2 , …, j n } are all available at t = 0 and their operation times are independent from the choice of machines performing these tasks.In the generic case of the problem, each one of the m machines can show some unavailability periods during scheduling horizon and each task must be executed onetime.
This problem noted by // ∑ consists in assigning n tasks to m machines over availability intervals in a manner to enforce the weighted sum of the end dates of tasks, referred to as ∑ to be minimal.It must be noted that there is (n!) m possibility to assign n tasks to m machines.

METHODOLOGY
Neighborhood structure: Neighborhood determination constitutes the most important stage in metaheurstic methods elaboration.In the following part, we use two Neighborhoods, (neighborhood by swapping) and (neighborhood by insertion).
It must be noted that tasks movement can be within one machine or between different machines.

Neighborhood by swapping:
Definition: Consider a sequence σ composed of n tasks.A neighborhood σ' is obtained by permuting two tasks j and j' of respectively k and k' positions σ with .
The set: is called neighborhood of σ this set is consequently obtained by permutation of all tasks of σ two by two.

Proof:
The permutation of all tasks.Two by two consists in permuting each task of the sequence with all remained tasks, without identical ones.The number of possible permutations in a sequence σ composed of n tasks is: (n -1) + (n -2) +..+ 2 + 1 = .
Neighborhood by insertion: Definition: Consider a sequence σ composed of n tasks.
A neighborhood σ' is obtained by inserting one task j of a position k in a new position k' in the sequence σ.
The set: is a neighborhood of σ, this set is consequently obtained by realizing all possible insertions of all tasks of σ.
Proof: Inserting a task j of position k in another position k' in the sequence σ allows getting n-1 possible insertions.Hence, for n tasks, there is n (n-1) insertions to be done.To avoid getting identical sequences, adjacent tasks insertions are counted once.Consequently n-1 insertions will be deleted.Finally, the number of obtained insertions is: n (n-1) -(n-1) = (n-1) 2 .
Tabu list structure: The tabu method is based on the principle that consists in maintaining in memory the last visited solutions and in forbidding the return to them for a certain number of iterations.The aim is to provide sufficient time to the algorithm so it can leave the local optimum.In other words, the tabu method conserves in each stage a list L of solutions (Tabu's) which it is forbidden to pass-by temporarily.The necessary space for saving a set of solutions tabus in the memory is indispensable.
The list, that we propose, contains the found solutions sequences.After many tests, a dynamic size list, which varies according to the search amelioration state, is conceived.The initial size of this list is considered to be (3√n) /2 where n is the tasks number.After that, during the search, when 5 successive iterations pass without amelioration of solution, the list is reduced to a number inferior or equal to √n.On the other hand, when 5 successive iterations pass and the solution is ameliorated, the list is increased to a number superior or equal to 2√n.The Tabu list is consequently dynamic and its size varies within the interval (√n, 2√n).The decrease or the increase of list size must always be done at the end of the list.

Heuristic for the problem (P):
An initial solution is always necessary.For this reason, we suggest in this part the following heuristic: assigne the (best) task h where min ∈ to the best machine (the most available 1 ) based on two principles justified by the two following propositions.
Proposition 3: In an optimal scheduling, it is necessary to schedule the tasks, in each availability period of the machine according to the order SWPT.
Proof: It results directly by adjacent task exchange like used by Smith (1956) for the corresponding periods.
Proposition 4: It is not useful to let the machine (idle) if a task can be assigned to this machine.

NOTATIONS
We denote by:   We assume that for each task J h  , there is at least one machine

Algorithm:
Initialization: . Sort task J h in increasing order according to the criterion h h w p / in a list 1 L Sort task J h in increasing order according to the criterion p h in a list 2 Determine the machine Determine the machine k ∈ I and the task then Begin Assigned the task h to the machine k Delete the task h from the two lists 1 L and 2 L Computational analysis: Data generation: The heuristic were tested on problems generated with 500 tasks similar to that used in previous studies (Adamu and Abass, 2010;Baptiste et al., 2000;Ho and Chang, 1995;M'Hallah and Bulfin, 2005); for each task j an integer processing time p j was randomly generated in the interval (1, 99) with a weight randomly w j chosen in interval (1, 10).
The search time to define a neighborhood and to determine minimal cost is chosen equal to 90s.
The number of machines fixed (3 machines) with (3 availability zones for each machine).

Diversification strategies:
The final time to execute this problem is chosen as T F = 1200 sec.It is divided according to diversification strategy to three times T 1 , T 2 and T 3 .After many experiments, these periods are chosen as follows: T 1 = 700 sec Initial starting time: uses long term memory to store the frequency of the moves executed throught of the search.
T 2 = 300 sec First restarting time makes use of influential moves.
T 3 = 200 sec Second restarting time also makes use of influential moves.
The Table 1 presents:  The initial mean values of objective function corresponding to initial sequence  The initial mean values of objective function obtained by using on one hand, the neighborhood by swapping and on the other hand, the neighborhood by insertion  The average times corresponding to the two neighborhoods  The percentage of cost improvement  The best costs

RESULTS
The results listed in Table 1 shows clearly that the tabu method based on neighborhood by insertion presents best costs compared with tabu method based on neighborhood by swapping.This is due to the fact that the first neighborhood ensures a faster tasks movement besides that the search space is richer with optimals partials sequences in each availability zones (T z , S z ).This can also be explained by the nature of used neighborhoods, besides the left shifting of other tasks in the swapping neighborhood.The results show that execution time obtained by the first neighborhood is acceptable.
On the other hand, the heuristic amelioration rate between the two neighborhoods is remarkable (Fig. 1a  and b).It is also noted that the cost amelioration rate of the proposed tabu search heuristic is situated between 0.4 and 14%.

CONCLUSION
In this study, a metaheuristic polynomial approach (Tabu search) as solution for tasks scheduling problem with parallel identical machines and availability zones (T z , S z ) is presented.
The developed approach uses a diversification technique based on search restarting from the point of the solution that was chosen among the earlier best unmaintained found solutions, by considering that the tabu list is dynamic and its size varies according to amelioration state of the solution.
According to the curried out tests, it can be concluded that the proposed approach ensure better results (heuristic amelioration cost up to 14%).It must be noted that the neighborhood by insertion presents the best costs with an acceptable execution time.

:
The set of partial sequences assigned to the machine