A New Method Based on Memetic Algorithm for Task ... · new algorithm by using memetic algorithm to...

7
M. H. KASHANI & M. JAHANSHAHI: A NEW METHOD BASED ON MEMETIC IJSSST, Vol. 10, No. 5 25 ISSN: 1473-804x online, 1473-8031 print A New Method Based on Memetic Algorithm for Task Scheduling in Distributed Systems M. H. Kashani M. Jahanshahi Computer Engineering Department, Islamic Azad University, Shahr-e-Qods branch Tehran, Iran Computer Engineering Department, Islamic Azad University, Central Tehran branch Tehran, Iran [email protected] [email protected] Abstract-Tasks scheduling problem is a key factor for a distributed system in order to achieve better efficiency. The problem of tasks scheduling in a distributed system can be stated as allocating tasks to processor of each computer. The objective of this problem is minimizing makespan and communication cost while maximizing CPU utilization. Scheduling problem is known as NP-complete. Hence, many genetic algorithms have been proposed to search optimal solutions from entire solution space. However, these existing approaches are going to scan the entire solution space without consideration to techniques that can reduce the complexity of the optimization. In other words, the main shortcoming of these approaches is to spend much time doing scheduling and hence need to exhaustive time. Therefore, in this paper we use memetic algorithm to cope with this shortcoming. We apply Learning automata, simulated annealing, and Tabu search as local search in our proposed memetic algorithm. Extended simulation results demonstrate that the proposed methods outperform the existent GA-based method in term of communication cost, CPU utilization and makespan. Keywords-Task scheduling, Memetic algorithm, Simulated annealing I. INTRODUCTION With many achievements such as technology, computer architectures, and software packages, distributed systems are used in a great variety of applications. The problem of task scheduling in these systems has received a large amount of attention recently. Task scheduling in a distributed system can be stated as allocating tasks to processors of each computer such that the optimum performance is obtained. The aim of task scheduling is minimizing makespan (job completion time) and communication cost while maximizing CPU utilization. This problem is known as NP-complete [24]. There are two categories for task scheduling; static and dynamic. In dynamic scheduling, schedules create during run time and no knowledge of task is in hand until it arrives. While in static scheduling, schedules are created before run time and cannot change. Similarly, tasks must all be known in advance. In other words a static task scheduling algorithm schedules a set of tasks with known processing and communication characteristics on processors to optimize some performance metric, such as makespan, communication cost and CPU utilization. In this paper we focus on static scheduling. Several methods have been proposed to solve scheduling problem. The proposed methods can be generally classified into three categories: Graph-theory- based approaches [25], mathematical models-based methods [26] and heuristic Techniques [27-30]. As mentioned above the scheduling problem has been known to be NP-complete. Therefore using heuristic Techniques can solve this problem more efficiently. Three most well-known heuristics are the iterative improvement algorithms [35], the probabilistic optimization algorithms, and the constructive heuristics. In the probabilistic optimization group, GA-based methods [31-37] are considerable. The main distinction among them is chromosomal representation used for a schedule. However, these approaches scan the entire solution space without consideration to techniques that can reduce the complexity of the optimization. In other words their main shortcoming is to spend much time doing scheduling. This shortcoming of GA-based methods can be reduced by combing GA with another optimization technique. Hence this paper proposes a new algorithm by using memetic algorithm to cope with this shortcoming. We apply Learning automata with updating algorithm P R L and I R L , Simulated annealing and Tabu search as local search in memetic. Simulation results demonstrate that our proposed methods outperform the existent GA-based method in term of communication cost, CPU utilization and Make span. The rest of this paper is organized as follows: In section 2 used methods as local search in the proposed memetic algorithm are presented. Proposed methods come in section 3. Simulation results are given in section 4. Section 5 concludes the paper.

Transcript of A New Method Based on Memetic Algorithm for Task ... · new algorithm by using memetic algorithm to...

Page 1: A New Method Based on Memetic Algorithm for Task ... · new algorithm by using memetic algorithm to cope with this shortcoming. We apply Learning automata with updating algorithm

M. H. KASHANI & M. JAHANSHAHI: A NEW METHOD BASED ON MEMETIC

IJSSST, Vol. 10, No. 5 25 ISSN: 1473-804x online, 1473-8031 print

A New Method Based on Memetic Algorithm for Task Scheduling in Distributed

Systems

M. H. Kashani M. Jahanshahi Computer Engineering Department,

Islamic Azad University, Shahr-e-Qods branch Tehran, Iran

Computer Engineering Department, Islamic Azad University, Central Tehran branch

Tehran, Iran [email protected] [email protected]

Abstract-Tasks scheduling problem is a key factor for a distributed system in order to achieve better efficiency. The

problem of tasks scheduling in a distributed system can be stated as allocating tasks to processor of each computer. The

objective of this problem is minimizing makespan and communication cost while maximizing CPU utilization.

Scheduling problem is known as NP-complete. Hence, many genetic algorithms have been proposed to search optimal

solutions from entire solution space. However, these existing approaches are going to scan the entire solution space

without consideration to techniques that can reduce the complexity of the optimization. In other words, the main

shortcoming of these approaches is to spend much time doing scheduling and hence need to exhaustive time. Therefore,

in this paper we use memetic algorithm to cope with this shortcoming. We apply Learning automata, simulated

annealing, and Tabu search as local search in our proposed memetic algorithm. Extended simulation results

demonstrate that the proposed methods outperform the existent GA-based method in term of communication cost,

CPU utilization and makespan.

Keywords-Task scheduling, Memetic algorithm, Simulated annealing

I. INTRODUCTION With many achievements such as technology, computer architectures, and software packages, distributed systems are used in a great variety of applications. The problem of task scheduling in these systems has received a large amount of attention recently. Task scheduling in a distributed system can be stated as allocating tasks to processors of each computer such that the optimum performance is obtained. The aim of task scheduling is minimizing makespan (job completion time) and communication cost while maximizing CPU utilization. This problem is known as NP-complete [24]. There are two categories for task scheduling; static and dynamic. In dynamic scheduling, schedules create during run time and no knowledge of task is in hand until it arrives. While in static scheduling, schedules are created before run time and cannot change. Similarly, tasks must all be known in advance. In other words a static task scheduling algorithm schedules a set of tasks with known processing and communication characteristics on processors to optimize some performance metric, such as makespan, communication cost and CPU utilization. In this paper we focus on static scheduling. Several methods have been proposed to solve scheduling problem. The proposed methods can be generally classified into three categories: Graph-theory-based approaches [25], mathematical models-based methods [26] and heuristic Techniques [27-30]. As mentioned above the scheduling problem has been known to be NP-complete.

Therefore using heuristic Techniques can solve this problem more efficiently. Three most well-known heuristics are the iterative improvement algorithms [35], the probabilistic optimization algorithms, and the constructive heuristics. In the probabilistic optimization group, GA-based methods [31-37] are considerable. The main distinction among them is chromosomal representation used for a schedule. However, these approaches scan the entire solution space without consideration to techniques that can reduce the complexity of the optimization. In other words their main shortcoming is to spend much time doing scheduling. This shortcoming of GA-based methods can be reduced by combing GA with another optimization technique. Hence this paper proposes a new algorithm by using memetic algorithm to cope with this shortcoming. We apply Learning automata with updating algorithm PRL and IRL , Simulated annealing and Tabu search as local search in memetic. Simulation results demonstrate that our proposed methods outperform the existent GA-based method in term of communication cost, CPU utilization and Make span. The rest of this paper is organized as follows: In section 2 used methods as local search in the proposed memetic algorithm are presented. Proposed methods come in section 3. Simulation results are given in section 4. Section 5 concludes the paper.

Page 2: A New Method Based on Memetic Algorithm for Task ... · new algorithm by using memetic algorithm to cope with this shortcoming. We apply Learning automata with updating algorithm

M. H. KASHANI & M. JAHANSHAHI: A NEW METHOD BASED ON MEMETIC

IJSSST, Vol. 10, No. 5 26 ISSN: 1473-804x online, 1473-8031 print

II. USED METHODS AS LOCAL SEARCH IN THE PROPOSED ALGORITHM

In this section we describe the methods which have been used as local search in our proposed memetic algorithm. Learning automata is an abstract model that chooses an action from a finite set of its actions randomly and takes it [15-18]. In this case, environment evaluates this taken action and reacts to it by a reinforcement signal. Then, learning automata updates its internal information regarding both the taken action and received reinforcement signal. After that, learning automata chooses another action again. Figure 1 depicts the relationship between learning automata and environment.

Figure 1. Interaction between learning automata and environment

Every environment is represented by },,{ cE , where },...,,{ 21 r is a set of inputs,

},...,,{ 21 r is a set of outputs, and },...,,{ 21 rcccc is a set of penalty probabilities.

Whenever set has just two members, environment is kind of p. In this environment 11 , 02 are considered as penalty and reward respectively. Similarly, environment in kind of Q contains a finite set of members. Also, environment in kind of S has infinite number of members. ci

is the penalty probability of taken action i .

Learning automata is classified into fixed structure and variable structure. Learning automata with variable structure is introduced as follows; Learning automata with variable structure is represented by },,,{ Tp , where },,,{ 21 r is a set of actions,

},,,{ 21 r is a set of inputs, },,,{ 21 rpppp is the action probability vector, and

)](),(),([)1( npnnTnp is learning algorithm. Learning automata operates as follows; learning automata chooses an action from its probability vector randomly (

iP ) and takes it. Suppose that the chosen

action is i . Learning automata after receiving reinforcement signal from environment updates its action probability vector according to formulas 1 and 2 in case of desirable and undesirable received signals respectively. In formulas 1 and 2, a and b are reward and penalty parameters respectively. If a = b then

algorithm is named PRL . Also, if b<<a then the algorithm is named PRL . Similarly, if b = 0 then the algorithm is called IRL .

(1) ijjnjpanjpnjp

nipanipnip

)(.)()1( ))(1.()()1(

(2) ijjnjpb

r

bnjp

nipbnip

)()1(1

)1(

)().1()1(

Simulated annealing is a generalization of a Monte Carlo method for examining the equations of state and frozen states of n-body systems [2,3]. The concept is based on the manner in which liquids freeze or metals recrystalize in the process of annealing. In an annealing process a melt, initially at high temperature and disordered, is slowly cooled so that the system at any time is approximately in thermodynamic equilibrium. As cooling proceeds, the system becomes more ordered and approaches a "frozen" ground state at T=0. Hence the process can be thought of as an adiabatic approach to the lowest energy state. If the initial temperature of the system is too low or cooling is done insufficiently slowly the system may become quenched forming defects or freezing out in metastable states (i.e. trapped in a local minimum energy state). The original Metropolis scheme was that an initial state of a thermodynamic system was chosen at energy E and temperature T, holding T constant the initial configuration is perturbed and the change in energy dE is computed. If the change in energy is negative the new configuration is accepted. If the change in energy is positive it is accepted with a probability given by the Boltzmann factor exp -(dE/T). This processes is then repeated sufficient times to give good sampling statistics for the current temperature, and then the temperature is decremented and the entire process repeated until a frozen state is achieved at T=0. By analogy the generalization of this Monte Carlo approach to combinatorial problems is straight forward the current state of the thermodynamic system is analogous to the current solution to the combinatorial problem, the energy equation for the thermodynamic system is analogous to at the objective function, and ground state is analogous to the global minimum. The basic concept of Tabu Search as described in [4-11] is a meta-heuristic superimposed on another heuristic. The overall approach is to avoid entrainment in cycles by forbidding or penalizing moves which take the solution, in the next iteration, to points in the solution space previously visited (hence "Tabu"). The Tabu search begins by marching to a local minima. To avoid retracing the steps used the method records recent

Page 3: A New Method Based on Memetic Algorithm for Task ... · new algorithm by using memetic algorithm to cope with this shortcoming. We apply Learning automata with updating algorithm

M. H. KASHANI & M. JAHANSHAHI: A NEW METHOD BASED ON MEMETIC

IJSSST, Vol. 10, No. 5 27 ISSN: 1473-804x online, 1473-8031 print

moves in one or more Tabu lists. The original intent of the list was not to prevent a previous move from being repeated, but rather to insure it was not reversed. Genetic algorithms (GA) are search methods that take their inspiration from natural selection and survival of the fittest in the biological world [12-14]. GAs differ from more traditional optimization techniques in that they involve a search from a "population" of solutions, not from a single point. Each iteration of an GA involves a competitive selection that weeds out poor solutions. The solutions with high "fitness" are "recombined" with other solutions by swapping parts of a solution with another (crossover). After selection and crossover, there is a new population full of individuals. Some are directly copied, and others are produced by crossover. In order to ensure that the individuals are not all exactly the same, you allow for a small chance of mutation. Solutions are also "mutated" by making a small change to a single element of the solution. Recombination and mutation are used to generate new solutions that are biased towards regions of the space for which good solutions have already been seen. Mutation is, however, vital to ensuring genetic diversity within the population. Memetic algorithms are a form of genetic algorithm that apply a local search process to refine solutions to hard problems [19-22]. In this paper we apply Learning automata with updating algorithm PRL and IRL , simulated annealing and Tabu search as local search in memetic.

III. PROPOSED METHODS In our model there are finite numbers of tasks, each having a task number and a execution time and placed in a task pool from which tasks are assigned to processors. Figure 2 shows the proposed chromosome. In this chromosome, tasks 1,2,3,4,5,6,7 and 8 are assigned to processors 2,1,2,3,3,4,2 and 1 respectively. Both tasks 1 and 3 are assigned to processor 2 but first task 1 is executed then 3.

Figure 2. An example of proposed chromosome

Before we describe the proposed methods it is necessary to state some definitions which have been stated in [1] as follows: },....,3,2,1 nttttT is the set of tasks to execute. P = mpppp ,....,,, 321 is a set of processors in the distributed system. Each processor can only execute one task at each moment, a processor completes current

task before executing a new one, and a task cannot be moved to another processor during execution. R is an mm matrix, where the element

mvuuvr ,1 of R, is the communication delay rate

between up and vp . H is an mm matrix, where the element

mvuuvh ,1 of H, is the time required to

transmit a unit of data from up to vp . It is obvious

that 0uuh and 0uur . A is an mn matrix, where the element

mjniaij 1,1 of A, is the execution time

of task it on processor jp .

D is a linear matrix, where the element nidi 1 of D, is the data volume for task it to be

transmitted, when task it is to be executed on a remote processor. F is a linear matrix, where the element

niif 1 of F, is the target processor that is

selected for task it to be executed on. C is a linear matrix, where the element

nici 1 of C, is the processor that the task it is worked on. The processor load for each processor is stated as follows:

iprocessor

toprocessesAssignedNewofNo

kik

iprocessoronprocesses

allocatedofNo

jiji aapLoad

.

.

1,

.

1,)( (3)

The makespan of a schedule is the maximal finishing time of all processes or maximum load.

(4) ( ) max ( )1 Pr

imakespan T Load p

i Number of ocessors

Communication cost (CC) is computed as follows:

processesnewofnumber

iifcfc dhrTCC

iiii1

)( (5)

The Processor utilization for each processor and the average of processors utilization are also computed as follows:

spanpLoad

pU ii max

)()( (6)

ocessorsOfNumber

processorsofNo

i

ipUAveU Pr))1

((

(7)

Page 4: A New Method Based on Memetic Algorithm for Task ... · new algorithm by using memetic algorithm to cope with this shortcoming. We apply Learning automata with updating algorithm

M. H. KASHANI & M. JAHANSHAHI: A NEW METHOD BASED ON MEMETIC

IJSSST, Vol. 10, No. 5 28 ISSN: 1473-804x online, 1473-8031 print

Number of Acceptable Processor Queues

(NoAPQ): We must define thresholds for light and heavy load on processors. If the tasks completion time of a processor is within the light and heavy thresholds, this processor queue will be acceptable. If it is above the heavy threshold or below the light-threshold, then it is unacceptable. But what is important is average of number of acceptable processors queues, which is achievable by :

ocessorsOfNumberNoAPQAveNoAPQ Pr ( 8 )

A Queue associated with every processor, shows the tasks that processor has to execute. The execution order of tasks on each processor is based on queues. Finally the fitness of the chromosome (Schedule T) can be computed as follows:

)()(max)(

)(TCCTspan

AveNoAPQAveUTfitness

( 9 )

Which 1,,,0 are control parameters to control effect of each part according to special cases and their default value is one. This equation shows that a fitter solution (Schedule) has less makespan, less communication cost, higher processor utilization and higher Average number of acceptable processor queues Now we describe the proposed methods in details. Figure 3 depicts the proposed method. We apply Learning automata with updating algorithm PRL and IRL , Simulated annealing and Tabu search as local search in our proposed memetic algorithm.

Figure 3. Structure of the proposed method

In this section we describe the methods which are used as local search in our memetic algorithm.

A. LA-based methods

We applied Learning automata (LA) with updating rules PRL and IRL as local search in our memetic algorithm. In these methods during the time LA learns to assign the tasks to processors such that the fitness of the chromosome will be better. In this method LA has n

actions (n is the number of tasks). When the LA chooses action n, that means LA decides to assign another processor to task n; one round of the LA based algorithm works as follows:

Initially LA considering its action probability vector chooses an action (e. g. action n). Its action means another processor must be assigned to task n. Therefore the new chromosome will be created. After that LA updates its action probability vector according to the fitness of new chromosome and the older one. In the method based on LA with updating rule PRL , if the fitness of the new chromosome is better that the older one, then the selected action is rewarded. Otherwise it is penalized. Similarly, in method based on LA with updating rule IRL , if the fitness of the new chromosome is better that the older one, then the selected action is rewarded. After updating the action probability vector by the LA, the new chromosome will be added to population. In next iteration LA chooses another action again.

B. TABU SEARCH BASED METHOD In each step of iteration a task is selected (index of the chromosome). Now two situations may occur:

If the selected task in not in Tabu list then a new processor is assigned to it. Hence a new chromosome is created. If the created chromosome is better than the older one then it is added to population. After that the number of task (index of the chromosome) is added to the Tabu list.

If the selected task is in the Tabu list then the above algorithm continues at most 5 times.

In our simulations length of the Tabu list is set to 3.

C. SIMULATED ANNEALING BASED METHOD

In each step of iteration a task in the chromosome is selected (index of the chromosome). Then a new processor is randomly assigned to it. Now a new chromosome is created. If the created chromosome is better than the older one then it is added to population;

otherwise we use boltzman function ( KT

f

e

) to accept or reject the new chromosome.

IV. SIMULATION RESULTS

In this section we evaluate the proposed methods compared with [1] regarding communication cost, CPU utilization and Makespan. First experiment:

In this experiment we try to increase number of tasks and compute average of all cpu utilization, communication cost and Makespan. Figures 4 through 6 depict simulation results. As it can obtain from figure 4 average of all cpu utilization in GA-based method (reference [1]) is less than our methods.

Population (N)

Combination of primary and new

population (N+K)

Crossover & Mutation

selection

New Population(K)

Local Search

Page 5: A New Method Based on Memetic Algorithm for Task ... · new algorithm by using memetic algorithm to cope with this shortcoming. We apply Learning automata with updating algorithm

M. H. KASHANI & M. JAHANSHAHI: A NEW METHOD BASED ON MEMETIC

IJSSST, Vol. 10, No. 5 29 ISSN: 1473-804x online, 1473-8031 print

0

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

1

100 200 300 400 500 600 700 800 900 1000

Number of tasks

Avera

ge o

f C

pu

Uti

lizati

on

s

TABU

SA

LA(RP)

LA(RI)

GA

Figure 4. Average of CPU utilization in all methods considering

number of task Figure 5 shows that when we increase the number of the tasks all methods have approximately the same communication cost. But as it can be seen from figure 6 makespan in GA-Base method in case of increasing the number of tasks is more than the proposed methods.

0

20000

40000

60000

80000

100000

120000

100 200 300 400 500 600 700 800 900 1000

Number of tasks

Co

mm

un

icati

on

Co

st

TABU

SA

LA(RP)

LA(RI)

GA

Figure 5. Communication cost in all methods considering number of

task

0

500

1000

1500

2000

2500

100 200 300 400 500 600 700 800 900 1000

Number of tasks

Co

mp

leti

on

tim

e(M

akes

pan

)

TABU

SA

LA(RP)

LA(RI)

GA

Figure 6. Makespan in all methods considering number of task

Second experiment:

Similarly in this experiment the aim is computing the makespan, communication cost and CPU utilization of all processors. It can be seen in figure 7 that makespan in GA-Based method is more than our propose methods. That means if we increase population size, then the trend of makespan in GA-based method will be increased. In the other hand it can be obtain GA-based method has not scalability. Figure 8 also depicts average of CPU utilization in all methods. As it can be seen GA-based method has under utilization. Also figure 9 shows SA-based method has less communication cost than all methods.

0

100

200

300

400

500

600

700

800

900

50 60 70 80 90 100 110 120 130 140 150

Pop size

Makesp

an

LA(RP)

LA(RI)

SA

TABU

GA

Figure 7. Makespan in all methods regarding pop size

0

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

50 60 70 80 90 100 110 120 130 140 150

Pop size

Avera

ge o

f C

PU

uti

lizati

on

s

LA(RP)

LA(RI)

SA

TABU

GA

Figure 8. Average of CPU utilization in all methods regarding pop

size

0

5000

10000

15000

20000

25000

30000

50 60 70 80 90 100 110 120 130 140 150

Pop Size

Co

mm

un

icati

on

co

st

TABU

LA(RP)

LA(RI)

SA

GA

Figure 9. Communication cost in all methods regarding pop size

Third experiment:

Objective of this experiment is compute the above metrics when we increase the number of generations. Figure 10 through 12 shows the simulation results. Figure 10 shows the average of CPU utilization in all methods. It can be seen with increasing the number of generation CPU utilization in GA-based method is less than all methods. In another words GA-based method has not scalability.

0

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

50 70 90 110 130 150 170 190 210 230 250

Number of generation

Avera

ge o

f C

PU

uti

lizati

on

s

TABU

SA

LA(RP)

LA(RI)

GA

Figure 10. Average of CPU utilization in all methods with respect to

number of generation

Page 6: A New Method Based on Memetic Algorithm for Task ... · new algorithm by using memetic algorithm to cope with this shortcoming. We apply Learning automata with updating algorithm

M. H. KASHANI & M. JAHANSHAHI: A NEW METHOD BASED ON MEMETIC

IJSSST, Vol. 10, No. 5 30 ISSN: 1473-804x online, 1473-8031 print

Figure 11 depicts communication cost in all methods. As it can be seen communication cost in SA-based method is less than other methods. Also figure 12

shows makespan in GA-based method is more than other methods when we increase the number of generation.

0

5000

10000

15000

20000

25000

30000

35000

50 70 90 110 130 150 170 190 210 230 250

Number of generation

Co

mu

nic

ati

on

co

st

TABU

LA(RI)

LA(RP)

SA

GA

Figure 11. Communication cost in all methods with respect to

number of generation.

Figure 12. Makespan in all methods with respect to number of

generation.

V. CONCLUSION In this paper we used the memetic algorithm for task scheduling. We applied Learning automata with updating algorithm PRL and IRL ,Simulated annealing and Tabu search as local search in memetic. Extended simulation results demonstrate that our proposed methods outperform the existent GA-based method in term of communication cost, CPU utilization and Maxspan.

REFERENCE [1] M. Nikravan and M. H. Kashani, "A Genetic Algorithm For Process Scheduling In Distributed Operating Systems Considering Load balancing", Proc. of 21st European Conference on Modelling and Simulation, ECMS 2007 [2] S. Kirkpatrick, C. D. Gelatt, M. P. Vecchi, "Optimization by Simulated Annealing", Science, 220, 4598, 671-680, 1983. [3] R. Battiti and G. Tecchiolli, "Simulated annealing and tabu search in the long run: a comparison on qap tasks", Computer Math. Applic., 28(6):1--8, 1994 [4] A M. Dell'Amico , A M. Trubian, "Applying Tabu Search to the Job-shop Scheduling Problem", J Annals of Ops. Res., 41, 1993 [5] Glover F., "Tabu Search: A Tutorial", Interfaces, 20(4):74-94,1990.

[6] Glover F., and Laguna M., Tabu Search, in Modern Heuristic Techniques for Combinatorial Problems, C.R. Reeves, editor, John Wiley & Sons, Inc, 1993 [7] A. Hertz, "Finding a Feasible Course Schedule Using Tabu Search", Discrete Applied Mathematics and Combinatorial Operations Research and Computer Science, 35, 1992 [8] A M. Laguna, A J. W. Barnes and A F. Glover, "Tabu Search Methodology for a Single Machine Scheduling Problem", Journal of Int. Manufacturing, 2, 63-74, 1991 [9] A S. C. S. Porto, A C.C. Ribeiro , "Parallel Tabu Search Message-Passing Synchronous Strategies for Task Scheduling under Precedence Constraints", Journal of Heuristics, V 1, 1995 [10] A S. C. S. Porto, A C.C. Ribeiro, "A Tabu Search Approach to Task Scheduling on Heterogeneous Processors under Precedence Constraints", International Journal of High-Speed Computing, 7(2), 1995 [11] A M. Widmer, "The Job-shop Scheduling with Tooling Constraints: A Tabu Search Approach", J. Opt. Res. S, 42, 75-82, 1991 [12] M. F. Bramlette, "Initialization, Mutation, and Selection Methods in Genetic Algorithms for Function Optimization", Proc of the Fourth International Conference on Genetic Algorithms. Los Altos, CA, 1991 [13] Handbook of Genetic Algorithms. Van Nostrand Reinhold, 1991 [14] S. Forrest, "Genetic Algorithms: Principles of Natural Selection Applied to Computation," Science, 261, 872-878, 1993 [15] K. S. Narendra and M. L. Thathachar, “Learning automata: an introduction”, Englewood Cliffs, NJ: Prentice Hall, 1989. [16] V. I. Varshavski and I. P. Vorontsova, "on the behavior of stochastic automata with variable structure", Automata, Telemekh, Vol. 24, pp. 253-360, 1963. [17] K. S. Fu, "Stochastic automata as models of learning systems", Computer And Information Sciences II, J.T. Lou, Editor, New York: Academic, 1967. [18] K. Najim and A. S. Poznyak, “learning automata: theory and application”, Tarrytown, NY: Elsevier Science Ltd., 1994. [19] Speel H. C, "Memetics: On a conceptual framework for cultural evolution", Symposium of Einstein Meets Margritte, Free University of Brussels, 1995.

0 100 200 300 400 500 600 700 800 900

1000

50 70 90 110 130 150 170 190 210 230 250 Number of generation

TABU SA

LA(RP) LA(RI) GA

Max span

Page 7: A New Method Based on Memetic Algorithm for Task ... · new algorithm by using memetic algorithm to cope with this shortcoming. We apply Learning automata with updating algorithm

M. H. KASHANI & M. JAHANSHAHI: A NEW METHOD BASED ON MEMETIC

IJSSST, Vol. 10, No. 5 31 ISSN: 1473-804x online, 1473-8031 print

[20] S. Areibi, M. Moussa, and H. Abdullah. "A comparison of genetic/memetic algorithms and heuristic searching. In Proc of the 2001 International Conference on Arti¯cial Intelligence ICAI 2001, Las Vegas, Nevada, 25, 2001. [21] H. Ishibuchi, T. Yoshida, and Tadahiko Murata, "Balance between genetic search and local search in memetic algorithms for multiobjective permutation owshop scheduling", IEEE Transactions on Evolutionary Computation,7(2):204-223, 2003. [22] P. Moscato, "New Ideas in Optimization, chapter Memetic Algorithms: A Short Introduction", pages 219-234. McGraw Hill, 1999. [23] H. El-Rewini, T.T. Lewis, and H.H. Ali. "Task Scheduling in Parallel and Distributed Systems", New Jersey: Prentice Hall, 1994. [24] Y. Chow and W.H. Kohler, “Models for Dynamic Load Balancing in a Heterogeneous Multiple Processor System”, IEEE Transactions on Computers, Vol. 28, pp. 354-361, 1979. [25] C.C.Shen, & W.H.Tsai, A Graph Matching Approach to Optimal Task Assignment in Distributed Computing Using a Minimax Criterion, IEEE Trans.

On Computers, 34(3), 1985, 197-203. [26] P.Y.R.Ma, E.Y. S. Lee and J.Tsuchiya, "A Task Allocation Model for Distributed Computing Systems", IEEE Trans. On Computers, 31(1), 1982, 41-47. [27] G. L. Park, "Performance Evaluation of a List Scheduling Algorithm In Distributed Memory Multiprocessor Systems", International Journal of

Future Generation Computer Systems 20, 2004, 249-256. [28] C.I.Park and T.Y.Choe, "An optimal scheduling algorithm based on task duplication", IEEE Trans. on

Computers, 51(4), 2002, 444–448. [29] C. M. Woodside, and G. G. Monforton, "Fast Allocation of Processes in Distributed and Parallel Systems", IEEE Trans. On Parallel and Distributed

Systems, 4(2), 1993, 164-174. [30] A. K. Sarje and G. Sagar, "Heuristic Model for Task Allocation in Distributed Computer Systems", Proc. of the IEEE, 138(5), 1991, 313-318. [31] W.Yao, J.Yao and B.Li, "Main Sequences Genetic Scheduling For Multiprocessor Systems Using Task Duplication", International Journal of

Microprocessors and Microsystems, 28, 2004, 85-94. [32] M. Moore, "An Accurate and Efficient Parallel Genetic Algorithm to Schedule Tasks on a Cluster", Proceedings of the IEEE International Parallel and

Distributed Processing Symposium, 2003. [33] V. D. Martino, "Sub Optimal Scheduling in a Grid using Genetic Algorithms", Proceedings of the IEEE

International Parallel and Distributed Processing

Symposium, 2003.

[34] A.Y. Zomaya, C. Ward and B. Macey, "Genetic Scheduling for Parallel Processor Systems: Comparative Studies and Performance Issues", IEEE

Trans. On Parallel and Distributed Systems, 10(8), 1999, 795-812. [35] M. Lin and L.T.Yang, "Hybrid Genetic Algorithms for Scheduling Partially Ordered Tasks in a Multi-processor Environment", Proc. of the 6

th

IEEE Conf. on Real-Time Computer Systems and

Applications, 1999, 382–387. [36] S. H. Woo, S. Yang, S. Kim and T. Han, "Task scheduling in distributed computing systems with a genetic algorithm", hpcasia, p. 301, High-Performance Computing on the Information Superhighway, HPC-Asia '97, 1997. [37] E. S. H. Hou, N. Ansari and H. Ren, "A Genetic Algorithm for Multiprocessor Scheduling", IEEE

Trans. On Parallel and Distributed Systems, 5(2), 1994, 113-120.