Omar
Selt
Laboratory of pure and applied mathematics,msila
university, algeria
E-mail: selt.omar@yahoo.fr
Submission: 3/28/2019
Revision: 10/10/2020
Accept: 10/17/2020
ABSTRACT
In this paper, we consider a single-machine scheduling problem, with the aim of minimizing the weighted sum of the completion time. This problem is NP-hard, making the search for an optimal solution very difficult. In this frame, two heuristics (H1), (H2) and metaheuristic tabu search are suggested.
To improve the performance of this techniques, we used, on one hand, different diversification strategies (TES1 and TES2) with the aim of exploring unvisited regions of the solution space. On the other hand, we suggested three types of neighborhoods (neighborhood by swapping, neighborhood by insertion and neighborhood by blocks).It must be noted that tasks movement can be within one period or between different periods.
Keywords: Scheduling; Single machine; NP-hard; Tabu search
1. INTRODUCTION
The
scheduling problem of a single machine with minimization of the weighted sum of
the tasks' end-dates, 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 (Zribi
et al., 2005; Zitouni& Selt ,2016).
Zribi et al.,
(2005) have studied the
problem and have compared two exact methods, the
Branch and Bound method and the integer programming one. They have concluded
that Branch and Bound method has better performance and it allows 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.
Selt and zitouni (2014) have studied
the following problem (), carrying out a comparative
study of heuristic and metaheuristic for
three identical parallel machines.
In this paper, we propose an
approach to solve tasks scheduling problem on machine
single under unavailability periods.
2. PROBLEM DESCRIPTION
There are n tasks to schedule in a
single machine. All the tasks are available at time zero.
·
Each task j has
associated a processing time pj and a weight Wj
·
There is a time
interval Tz between the completion times of thre consecutive
maintenance activities.
·
The tasks can not
be interrupted.
Objective: To assign tasks to blocks
between maintenance activities in such a way that the last task finishes as soon as possible,that is, to minimize
the weighted sum of the completion time.
3. PROPOSED METHOD
3.1.
Tabu Search
Tabu Search is a metaheuristic originally developed by Glover (1986). This method combines local search procedure with some rules and mechanism to surmount local optima obstacle avoiding the cycling trap. Tabu search is the 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 (Glover & Hanafi, 2002).
It starts from a random initial solution and successively moves to one of the neighbors of the current solution. The difference between tabu search and other Meta-heuristic approaches is based on the notion of the tabu list, which is a special short-term memory, storing of previously visited solutions including prohibited moves. In fact, short-term memory stores only some of the attributes of solutions instead of whole solutions. So, it gives no permission to revisit 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. A common aspiration criterion is better fitness, i.e. the tabu status of a move in the tabu list is overridden if the move produces a better solution.
The process of Tabu
Search (TS) can be represented as follows:
3.2.
Algorithm (TS)
Step 1 Generate initial solution x.
Step 2 Initialize the Tabu List.
Step 3 While a 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
Step 4 Select the best candidate solution x* in X‟.
Step 5 If fitness(x*) > fitness(x), then x = x*.
Step 6 Update Tabu List and
Aspiration Criteria
Step 7 If the termination condition met, then finish;otherwise,go to Step 3.
3.3.
Intensification
One memorizes the best-found solutions and tries to determine common proprieties to define interesting regions and orient the research towards these regions, by considering all the movement that leads to leaving these regions as tabu, for example.
The intensification allows to stop periodically the normal exploration process and to intensify her research effort within a region that seems promising. One of the methods of intensification application is to memorize the best-found solutions to go back to one of these solutions.
3.4.
Diversification
This technique is the inverse of the intensification method. It directs the research towards the unexplored regions. Implementing this technique consists in memorizing the solutions the most frequently visited and imposing a penalty system, in order to favor the movement the less frequently used. In this paper, the first starting time is TES1=25 minutes and the second restarting time is TES2=20 minutes; these times are practically sufficiently enough for exploring the majority of regions.
3.5.
Neighborhoods
Neighborhood
determination constitutes the most important stage in metaheuristic methods elaboration. In the following part; we use
three neighborhoods (neighborhood by swapping, neighborhood by insertion and
neighborhood insertion by blocks).
Notations:
We
denote by:
: The set of tasks.
: Execution time of the task .
: Single machine
: Number of availability zones.
: Availability Zones.
: Period of unavailability zones.
: Sequence assigned to the machine
: Weight of
the task
: Execution time of the task by the machine
: Execution time of the task, allocated to the zone z.
f(σ): Objective function cost.
fswapp : Swapping algorithm cost.
finsert : Insertion algorithm cost.
fins_bloc : Insertion bloc algorithm cost
fbest : Minimal cost.
T:
Tabu List.
L:
Tabu List Size.
4. HEURISTICS DESCRIBED
An initial solution is always necessary. For this reason,
we suggest in this part the following heuristics based on two principles :
1-assigned the (best) task j where to machine M .
2-assigned the (best) task j
where ph= max( pj)
to machine M.
4.1.
Formal statement
It is not useful to let the machine (idle) if a task can
be assigned to this machine(smith,1956).
5. HEURISTICS
5.1.
Heuristic (H1)
5.1.1.
Initialization
Begin
j={1, 2, …, n} ; =0 ;σ=,()=0; = random (1.99) ;= random (1.10) ; z=1
Sort
tasks in increasing
order according to the criterion in a list
While (and)
do
Begin
Set from the top
list of ;
End if
Assigned the task to the machine M;
Delete the task from the list ;
Compute
Determine and
End
Else
Begin
Set
End
End if
End
5.2.
Heuristic (H2)
Initialization
j={1, 2, …, n}; =0 ;σ=, ()=0; = random (1.99); = random (1.10); z=1
Begin
Sort tasks in increasing
order according to the criterion in a list
Sort tasks in decreasing
order according to the criterion in a list
While (and)
do
Begin
Set from the top
list of
Set from the top
list of
End if
Assigned the task to the machine M;
Delete the task from the two lists ;
Compute
Determine and
End
Else
Begin
Set
End
End if
End
5.3.
Algorithm
Step 1 Get an initial solution σ and
T[1]=0 ;
Step 2 Do permutation by swapping
Step 3 Do permutation by insertion
Step 4 Do permutation by insertion by a bloc
Step 5 Compute: f1=fswapp ;f2=finsert ;f3=fins_bloc
Step 6 Consider
L=(
Tabu list size)
Step 7for k=1 to 3 Do
If finit<fk
Do:T[1]=finit ;
else T[1]=fk;
End if
Tk=T
[1];
End
Step 7.1 fbest=min (T1 ,T2,T3)
End if
Step 7.2 Display σ(fbest)
5.3.1.
Example1
Consider the problem P1 with the following data:
Table 1: problem P1
j |
1 |
2 |
3 |
4 |
5 |
6 |
Pj |
11 |
36 |
88 |
10 |
91 |
31 |
Wj |
3 |
6 |
8 |
7 |
4 |
1 |
Pj/Wj |
3.67 |
6 |
11 |
1,42 |
22.75 |
31 |
Results of heuristic (H1)are : f= 2666 ; execution time = 0,156 s
Results of tabu (swapping) are :f= 2145 ; execution time =0,991 s
Results of tabu (insertion) are : f= 2431 ; execution time =1,024 s
Results of tabu (insertion by bloc) are : f= 2567 ; execution time =0 ,306 s
The best results are obtained by using tabu by swapping for f=2145.
5.3.2.
Example2
Consider the problem P2 with the following data:
Table 2: problem P2
j |
1 |
2 |
3 |
4 |
5 |
6 |
Pj |
11 |
36 |
88 |
10 |
91 |
31 |
Wj |
3 |
6 |
8 |
7 |
4 |
1 |
Pj/Wj |
3.67 |
6 |
11 |
1,42
|
22.75 |
31 |
Pj(MAX) |
91 |
88 |
36 |
31 |
11 |
10 |
Results of heuristic (H2)are : f= 2548 ; execution time = 0,650 s
Results of tabu (swapping) are :f= 1986 ; execution time =0,991 s
Results of tabu (insertion) are : f= 2367 ; execution time =1,542 s
Results of tabu (insert. by bloc) are: f= 2410; execution time =0 ,945 s
The best results are obtained by using by tabu (swapping) for f=1986.
6. COMPUTATIONAL ANALYSIS
6.1.
Data generation
The
proposed approaches were tested on problems generated with 1000 tasks similar
to those used in previous studies (M'Hallah & Bulfin, 2005). For each task j, an
integer processing time was randomly
generated in the interval with a weight randomly chosen
in the interval
The tables 1and 2 below presents:
1) The initial mean values of the objective function corresponding to the initial sequence.
2) The initial mean values of the objective function
3) The average times corresponding to the three neighborhoods.
4) The best costs.
AC: Average costs.
AT: Average time.
7. RESULTS
The results listed in tables(III and IV) show clearly that the tabu method based on neighborhood by swapping presents the best costs compared with tabu method based on neighborhood by insertion and by blocks.
This is due to the fact that the first neighborhoods ensures a faster tasks movement; besides that, the search space is richer with optimal partial sequences in each availability zones. This can also be explained by the nature of adopted neighborhoods.
The results show that execution time obtained by the proposed neighborhoods is acceptable. On the other hand, the heuristics amelioration rate between the three neighborhoods is remarkable (Figure 1 and 2, Graphic 1 and 2).
8. 7. CONCLUSION
In this paper, n tasks scheduling problem for machine sinle under availability constraint is discussed, with the aim of minimizing the weighted sum of the completion time. The approach based on tabu search allowed solving this problem, with the enhancement of initial solution obtained by a heuristics (H1 and H2) of complexity o(nlogn).
By considering three types of neighborhoods, tabu list and diversification strategy, the results of tabu search method were encouraging, and they will be more encouraging if good neighborhood based on problem's data is defined.
More encouraging if
good neighborhood based on problem's data is defined.
Figure1: Histogram of heuristic
(H1) cost amelioration based on tabu search for different N values.
Graphic 1: Circle graph of heuristic (H1)
cost amelioration
Figure 2: Histogram of heuristic (H2) cost
amelioration based on tabu search for different N
values.
Graphic 2: Circle graph of heuristic (H2)
cost amelioration based on tabu search.
Table 3: Results obtained by heuristic (H1)
and tabu search
N |
Initial Solution (H1) (average of 3 instances) |
Tabu search by swap |
Tabu search
by insertion |
Tabu search by blocs |
Best costs |
||||
AC |
AT (second) |
AC |
AT (second) |
AC |
AT (second) |
AC |
AT (second) |
||
N =20 |
29190 |
0,185 |
41647 |
0,654 |
31779 |
0,307 |
35466 |
0,13 |
29190 |
45768 |
0,201 |
40772 |
0,578 |
29096 |
0,224 |
32259 |
0,166 |
29096 |
|
30731 |
0,194 |
29720 |
0,576 |
37763 |
0,447 |
33526 |
0,161 |
29720 |
|
N=50 |
205130 |
0,583 |
189551 |
0,634 |
223921 |
1,524 |
176484 |
0,328 |
176484 |
207358 |
0,429 |
218017 |
0,603 |
219091 |
1,019 |
229906 |
0,437 |
218017 |
|
214071 |
0,919 |
209126 |
0,645 |
194182 |
0,973 |
208584 |
0,437 |
194182 |
|
N=100 |
734976 |
2,212 |
682309 |
3,682 |
593040 |
5,179 |
707554 |
1,617 |
593040 |
1994099 |
2,191 |
702905 |
3,385 |
786843 |
5,356 |
761648 |
1,472 |
702905 |
|
839684 |
1,997 |
707977 |
3,297 |
685365 |
5,808 |
703850 |
1,700 |
685365 |
|
N=250 |
5090272 |
5,90 |
3845619 |
7,73 |
4659201 |
9,18 |
3697427 |
6,56 |
3697427 |
4897215 |
6,14 |
3201037 |
7,61 |
4061839 |
9,63 |
3982569 |
6,49 |
3201037 |
|
4658617 |
6,142 |
3597109 |
6,95 |
3312510 |
8,89 |
4045917 |
6,92 |
3012010 |
|
N=500 |
17866722 |
8,120 |
9730402 |
9,789 |
8964538 |
10,876 |
8763401 |
7,871 |
8763401 |
17986067 |
7,128 |
9056321 |
9,562 |
9254175 |
10,501 |
9342104 |
7,549 |
9056321 |
|
18410307 |
7,298 |
8657831 |
9,861 |
8765109 |
10,612 |
9297364 |
7,724 |
8657831 |
|
N=750 |
41931982 |
12,20 |
34537327 |
15,87 |
33762437 |
16,87 |
35318023 |
14,73 |
33762437 |
43858415 |
13,01 |
37612943 |
16,08 |
39576182 |
16,49 |
38003183 |
13,98 |
37612943 |
|
39895222 |
12,44 |
36578139 |
15,83 |
32789193 |
16,81 |
34987710 |
14,01 |
32789193 |
|
N=1000 |
75763079 |
16,80 |
67451280 |
20,563 |
68673189 |
25,675 |
67645329 |
17,977 |
67451280 |
75377034 |
17,12 |
59672815 |
20,986 |
67563821 |
25,560 |
67832961 |
18,286 |
59672815 |
|
74190765 |
17,44 |
66347819 |
20,926 |
58976897 |
25,241 |
68936103 |
18 ,672 |
58976897 |
Table 4: Results obtained by heuristic (H2)
and tabu search
N |
Initial Solution (H2 ) (average of 3 instances) |
Tabu search by swap |
Tabu search by insertion |
Tabu search by blocs |
Best costs |
||||
AC |
AT (second) |
AC |
AT (second) |
AC |
AT (second) |
AC |
AT (second) |
||
N =20 |
49635 |
0,897 |
44957 |
1,83 |
44845,66 |
2,76 |
45738 |
1,75 |
49635 |
41544 |
1,01 |
41235 |
1,72 |
41094 |
2,64 |
40763 |
1,70 |
40763 |
|
34220 |
0,99 |
33020 |
1,97 |
34008 |
2,38 |
33872 |
1,84 |
33020 |
|
N=50 |
202482 |
4,43 |
200848 |
9,25 |
201830 |
14,40 |
199673 |
9,09 |
199673 |
220786 |
6,65 |
220364 |
10,34 |
210600 |
16,03 |
219643 |
9,87 |
210600 |
|
230501 |
3,98 |
197233 |
9,16 |
226582 |
14,19 |
219846 |
10,56 |
226582 |
|
N=100 |
903625 |
7,65 |
834570 |
14,25 |
856713 |
28,09 |
840163 |
13,98 |
834570 |
863040 |
9,86 |
791284 |
15,18 |
786173 |
30,53 |
788527 |
15,76 |
786173 |
|
N=250 |
989476 |
20,14 |
970528 |
45,78 |
985476 |
35,80 |
980035 |
39,73 |
970528 |
1098437 |
28,76 |
925376 |
39,73 |
906718 |
42 ,71 |
1028731 |
38,32 |
906718 |
|
1287142 |
27,97 |
1001583 |
43,91 |
973027 |
40,93 |
1056738 |
40,03 |
973027 |
|
N=500 |
22206778 |
40,12 |
19765183 |
69,03 |
21165329 |
71,63 |
21067482 |
51,98 |
19765183 |
15016104 |
45,67 |
13489345 |
72,87 |
13987543 |
79,51 |
12692549 |
67,90 |
12692549 |
|
21646539 |
42,56 |
21135631 |
61,42 |
21598743 |
67,91 |
20068251 |
60,43 |
20068251 |
|
N=750 |
47951562 |
60,87 |
45056218 |
97,56 |
46875128 |
102,67 |
45978537 |
89,93 |
45056218 |
50652915 |
70,87 |
47872361 |
95,54 |
48953672 |
112,03 |
49835872 |
92,89 |
47872361 |
|
48501267 |
75,96 |
46734529 |
91,42 |
45548271 |
106,48 |
47629349 |
90,62 |
45548271 |
|
N=1000 |
67544328 |
91,56 |
64672384 |
120,76 |
65621738 |
129,36 |
66527183 |
113,67 |
64672384 |
76248934 |
87,53 |
72789368 |
127,62 |
7472893 |
133,69 |
68638624 |
122,36 |
68638624 |
|
69842351 |
84,06 |
66423946 |
124,30 |
74728194 |
131,42 |
64673892 |
123,72 |
64673892 |
REFERENCES
Abdenacer, G. (2014). metaheuristic algorithms
for solving quadratic assignment problem, IJACSA,
5, 15-21.
Adamu M. O., & Adewunmi. A. (2013).Comparative
study of meta-heuristics for identical parallel machines, J. Eng. Technol. Res., 5(7), 207-216.
Chang, P.-C., Chen, S.-H., Lie, T., & Liu, J. Y.-C. (2011). A genetic algorithm enhanced by dominance properties for single machine scheduling problems with setup costs, International Journal of Innovational Computing Information and Control, 7(5A), 2323–2344.
Glover, F. (1986). Future paths for integer
programming and links to artificial intelligence, Comput. Oper. Res., 13, 533-549.
Glover, F., & S. Hanafi, S. (2002). Tabu Search and Finite Convergence, Special Issue on Foundations of heuristics in Combinatorial Optimization. Discrete Appl. Math, 119, 3-36.
Hansen, P. (2006). The steepest ascent mildest
descent heuristic for combinatorial programming, Proceedings of the Congress on Numerical Methods, Capri, Italy.
Haouari. M., & Ladhari, T. (2003). A branch-and-bound-based
local search method for the flow shop problem, J. Oper. Res. Soc., 54, 1076-1084.
DOI: 10.1057/palgrave.jors.2601612
Lee. C. Y. (1996). Machine scheduling with an
availability constraints, J. Global
Optim., 9, 395-416.
Lee C. Y. (1997). Minimising the makespan in
two machines flow shop scheduling problem with availability constraints, Oper. Res. Lett., 20, 129-139.
M'Hallah, R., & Bulfin, R. L. (2005).
Minimizing the weighted number of tardy jobs of parallel processors, Eur. J. Oper. Res., 160, 471-4847.
Sakarovitch, M. (1984). Optimisation combinatoire: Programmation discrete, Hermann, France.
Schmidt, G. (2000). Scheduling with limited
machine availability, European J. Oper,
121, 1-15.
Selt, O., & Zitouni, R. (2014). A
comparative study of heuristic and metaheuristic for three identical parallel
machines, Cjpas, 3147-3153.
Smith, W. E. (1956). Various optimizes for
single-stage production, NavaRes.Logist,
3, 59-66.
Zribi, N., Kacem, I.,
El-Kamel, A., & Borne, P. (2005). Minimisation de la somme des retards dans
un job shop flexible, Revue e-STA (SEE),
6(6), 21-25.
Zitouni, R., & Selt, O. (2016). Metaheuristics
to solve tasks scheduling problem in parallel identical machines with
unavailability periods, RAIRORes, 50(1),
90.