An approximation solution for scheduling problem in single machine under unavailability constraints

Article history: Received 15 September 2016 Received in revised form 10 November 2016 Accepted 17 November 2016 In this paper, an approximation solution for scheduling problem of n tasks on single machine with unavailability zones is proposed. This problem is strongly NP-complete which makes finding an optimal solution looks impossible task. In this frame, we suggested a heuristic (H1) in which availability periods of machine are filled with the highest weighted tasks. To improve the performance of this heuristic, we used, on one hand, different diversification strategies E1and E2 with the aim of exploring unvisited regions of the solution space, and on the other hand, two neighborhoods (neighborhood by swapping and neighborhood by insertion). The computational experiment was carried out on single machine with different unavailability zones. It must be noted that tasks movement can be within one period or between different periods.


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 (Zribi et al., 2005) have studied the problem 1/N − C/ ∑ w j C j n j=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. Chang et al. (2011) proposed a genetic algorithm (GA) enhanced by dominance properties for single machine scheduling problems to minimize the sum of the job's setups and the cost of tardy or early jobs related to the common due date. Zitouni and Selt (2016)  ; they carried out a comparative study of heuristic and metaheuristic for three identical parallel machines. In this, paper, the results of selt and zitouni (2014) research works are exploited to develop a different new heuristic to solve the tasks scheduling problem on single machine under different constraints

Tabu search
Tabu search is metaheuristic that keeps track of the regions of the solution space that have already been searched in order to avoid repeating the search near these areas. It starts from a random initial solution and successively moves to one of the neighbors of the current solution.
The difference of tabu search from other Metaheuristic approaches is based on the notion of tabu list, which is a special short term memory. That is composed of previously visited solution s that includes prohibited moves. In fact, short term memory stores only some of the attributes of solutions instead of whole solution. So it gives no permission to revisited solutions and then avoids cycling and being stuck in local optima.
During the local search only those moves that are not tabu will be examined if the tabu move does not satisfy the predefined aspiration criteria. These aspiration criteria are used because the attributes in the tabu list may also be shared by unvisited good quality solutions. The process of TS can be represented as follows.

Algorithm
Step 1: Generate initial solution x.
Step 2: Initialize the Tabu List.
Step 3: While set of candidate solutions X" is not complete.
Step 3.1: Generate candidate solution x" from current solution x Step 3.2: Add x" to X" only if x" is not tabu or if at least one Aspiration Criterion is satisfied.
Step 4: Select the best candidate solution x* in X".
Step 6: Update Tabu List and Aspiration Criteria Step 7: If termination condition met finish, otherwise go to Step 3.

Neighborhood structure
Neighborhood determination constitutes the most important stage in metaheuristic methods elaboration. In the following part, we use two Neighborhoods, (neighborhood by swapping) and (neighborhood by insertion).

Definition
Consider a sequence composed of n tasks. A neighborhood ′ is obtained by permuting two tasks. j and ′ of respectively k and ′ positions with ′ = + 1, + 2, … , . The set, is called neighborhood of This set is consequently obtained by permutation of all tasks of two by two.

Formal statement 1
Consider a sequence , the set's cardinal of 1 ( ) is 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:

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 ′ in the sequence . The set 2 ( ) = { ′ , ′ ′ } is a neighborhood of . This set is consequently obtained by realizing all possible insertions of all tasks of .

Formal statement 2
Consider a sequence , the set's cardinal of 2 ( ) is ( − 1) 2 . Proof: Inserting a task j of position k in another position ′ 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:

Formal statement 3
It must be noted that tasks movement can be within one period or between different periods.

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√ 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√ . 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√ . The Tabu list is consequently dynamic and its size varies within the interval [√ , 2√ ]. The decrease or the increase of list size must always be done at the end of the list.

Heuristic
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 based on two principles justified by the two following propositions:

Formal statement 4
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.

Formal statement 5
It is not useful to let the machine (idle) if a task can be assigned to this machine.

Diversification strategies
The final time to execute this problem is chosen as T2700. It is divided according to diversification strategy to two times E1 and E2. After many experiments, these periods are chosen as follows: E1 =1700s Initial starting time: uses long term memory to store the frequency of the moves executed through of the search.
E2=1000s restarting time makes use of influential moves.

Numerical example
Consider the problem P 1 with the following data:

Data generation
The heuristic were tested on problems generated with 500 tasks similar to that used in previous studies (Ho and Chang, 1995;M'Hallah and Bulfin, 2005) for each task j an integer processing time was randomly generated in the interval (1.99) with a weight randomly chosen in interval (1.10). The Table 2 presents: 1-The initial mean values of objective function corresponding to initial sequence. 2-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.
3-The average times corresponding to the two neighborhoods. 4-The best costs.