Using CMAC to Obtain Dynamic Mutation Rate in a ...

1 downloads 0 Views 163KB Size Report
Memetic Algorithm to Solve University Timetabling Problem. 173 ... A simple generic meta-heuristic approach upon a set of widely used constructive heuristics ... CMAC model is based on associative memory cells and searching table.
European Journal of Scientific Research ISSN 1450-216X Vol.63 No.2 (2011), pp.172-181 © EuroJournals Publishing, Inc. 2011 http://www.europeanjournalofscientificresearch.com

Using CMAC to Obtain Dynamic Mutation Rate in a Metaheuristic Memetic Algorithm to Solve University Timetabling Problem Amin Jula Department of Computer Science, Islamic Azad University Mahshahr Branch, Mahshahr, Iran E-mail: [email protected] Narjes Khatoon Naseri Department of Computer Science, Islamic Azad University Shoushtar Branch, Shoushtar, Iran E-mail: [email protected] Abstract University course timetabling problem is one of the most famous NP-hard and difficult optimization problems due to have a lot of different hard and soft constraints. In the other hand, memetic algorithms which gain advantages of genetic algorithm and mix them to benefits of a local search method that explores neighbourhood domain around solutions obtained by genetic algorithm to find better solutions. In this paper a new local search algorithm has been proposed to hybridize with genetic algorithm for obtaining best regards in comparison to previous approaches and classic local search algorithms. Furthermore, in order to calculate mutation rate as a significant factor in the process of genetic algorithm performance, Cerebellar model of Articulation Controller (CMAC) has been applied which saves suitable mutation rate for different states in its cells and updates them based on Knowledge gained from the every iteration performance of algorithm. Results obtained of proposed algorithm shows that heuristics applied in this approach lead to better solutions at the appropriate time.

Keywords: NP-hard problems, University course timetabling, Memetic Algorithms, Cerebellar Model of Arithmetic Computing (CMAC)

1. Introduction University timetabling is a problem in which a timetable of weekly plan should generate for university lectures. The planning should be in a way that lectures are rested in a specific number of rooms and timeslots in a way that no more than one lecture should be tested in each room and specific timeslot. At one hand, different kinds of this problem exist in different kinds of universities according to the rules, necessities and restrictions. According to the restrictions and abundant of effective parameters and possible number of solutions, sometimes it is impossible or very difficult to find an exact and a perfect solution for this problem. This is why this problem is in the domain of NP-hard problems. On the other hand, memetic algorithm is used in variety of cases besides other methods for

Using CMAC to Obtain Dynamic Mutation Rate in a Metaheuristic Memetic Algorithm to Solve University Timetabling Problem

173

solving NP-hard problems and studies have shown that in many cases could achieve much more success than other approaches. As in genetic algorithm family, mutation operator is an important factor to prevent searching process from falling in local minima and Missing appropriate individuals in order to find suitable solutions. Hence, finding its performance probability by using available knowledge in searching process can has guided and more desirable affects in speeding up the obtaining of optimal solutions. Due to achieve this purpose, Cerebellar Model of Articulation Computing (CMAC) as a trainable machine with fast learning process can be used. In this article, the effect of using genetic algorithm on solving university timetabling problem will be studied through explaining the designed CMAC for obtaining the mutation rate in the suggested memetic Algorithm. After defining the problem of university timetabling and the memetic Algorithm, the structure and the function of CMAC will be considered. After describing chromosome frame, recombination operators and the proposed local search algorithm, using CMAC in intelligent computing of mutation rate will be studied.

2. Previous Research University timetabling problem is one of the most known problems in the field of Np-hard problems. This problem has attracted many researches and there are lots of articles in literature written to propose different approached to solve it. Enzhe Yu and Ki-Seok Sung (2002) proposed a sector-based genetic algorithm to solve a university weekly timetabling problem. They introduced sector as a package of initializing, crossover and mutation procedures. They divided constraints to hard and soft constraints and tried to keep their solutions in feasible space using a routine for satisfying hard constraints. Subhash C. Sarin and et al. (2004) have presented a methodology relies on Benders partitioning for the solutions of university timetabling problem. Their approach in partitioning results from the special nature of the underlying integer programming formulation for this problem. They have applied their methodology to schedule courses offered by the College of Engineering as well as to those offered university-wide at Virginia Tech. A simple generic meta-heuristic approach upon a set of widely used constructive heuristics based on graph coloring heuristics in timetabling proposed by Edmund K. Burke and et al. (2005). A tabu search approach is employed to search for permutations of graph heuristics which are used for constructing timetables in exam and course timetabling problems. This underpins a multi-stage metaheuristic where the tabu search employs permutations upon a different number of graph heuristics in two stages. They studied their graph-based hyper-heuristic method within the context of exploring fundamental issues concerning the search space of the hyper-heuristic and the solution space. Abdullah S. and et al. (2007) proposed an evolutionary based approach combined with local search for university course timetabling. The main technique used in their studied evolutionary algorithm is a light mutation operator followed by a randomized iterative improvement algorithm. The crossover operator is not employed in this approach. R. Qu and E.K. Burke (2009) constructed a unified graph-based meta-heuristic (GHH) framework, upon which a number of local search-based algorithms as the high level heuristics are studied to search upon sequences of low-level graph coloring heuristics. To gain an in-depth understanding on their framework, they addressed some fundamental issues concerning neighborhood structures and characteristics of the two search spaces, the search spaces of the heuristics and the actual solutions. Furthermore, they investigated efficient hybridizations in GHH with local search methods and mentioned issues concerning the exploration of the high-level search and the exploitation ability of the local search. Fukushima Makoto (2010) proposed a hybrid algorithm which includes Simulated Annealing, Local Search and Great Deluge to perform for solving the university course timetabling problem. It is

174

Amin Jula and Narjes Khatoon Naseri

proposed two enhancements in the algorithm, where one of three soft constraints is satisfied when obtaining a feasible timetabling solution and a few parameters for escaping local minima are introduced in the Great Deluge algorithm which is used for reducing the violations of the soft constraints. The application of harmony search for the course timetabling proposed by Mohammed Azmi Al-Betar and et al. (2010) is further enhanced by dividing the pitch adjustment operator to eight procedures, each of which is controlled by its PAR value range. Each pitch adjustment procedure is responsible for a particular local change in the new harmony. Furthermore, the acceptance rule for each pitch adjustment procedure is changed to accept the adjustment that leads to a better or equal objective function. A novel meta-heuristic algorithm that is based on the principles of particle swarm optimization is proposed for course scheduling problem by Der-Fang Shiau (2011). designing an 'absolute position value' representation for the particle, allowing instructors that they are willing to lecture based on flexible preferences, the maximum number of teaching-free time periods and the lecturing format and employing a repair process for all infeasible timetables are the features are investigated in this article. Furthermore, a local search mechanism is incorporated into the proposed PSO in order to explore a better solution improvement.

2. Primary Definitions 2.1. University Timetabling Problem University timetabling means specialize a lecture to a timeslot and a room in a way that the required restrictions are not violated. There are two kinds of restrictions in a timetabling problem. First group which is called hard constraints are those restrictions in which it is necessary to satisfy in presented solutions. The second group is called soft constraints and it is better to be presented in the solutions. However, this is not necessary. The mentioned restrictions for university timetabling are considered in details by Srinivas M. and Patnaik L. M. (2002). If there are Q numbers of lectures, P numbers of timeslots and R numbers of rooms, the T T = k ,1 ≤ k ≤ r problem's solution is a matrix q× p in which ij which means that lecture i is held in the timeslot j and the room k. It is tried to find T in a way which has the least amount of violation in soft constraints and the hard constraints are fully satisfied. 2.2. Memetic Algorithm Memetic Algorithm is a kind of evolutionary Algorithm in which local heuristic searches are mixed with genetic algorithm in order to reduce the time of achieving the optimal solutions. Genetic algorithm is made to search in throughout searching spaces, while the local search explores neighborhood domain of any found solution by the means of genetic Algorithms for better solutions. Choosing of greater production operators in genetic part of a memetic algorithm and the type and the local search method used cause to quite different results.

3. Cerebellar Model Articulation Controller Cerebellar Model of Articulation Controller (CMAC) was presented by J.S.Albus (1972) and then described and applied by J.S.Albus (1975) and Rahmani A. M. and Teshnehlab M. (2005). CMAC is a neural network that simulates the structure and functions of a part of the brain called Cerebellum. CMAC model is based on associative memory cells and searching table. Block diagram of CMAC model produces suitable output(s) for specified input(s). Input variables divide to discrete places in which each discrete space recognizes a cell address of memory. The output can be obtained through recovering the stored data in the selected associative memory cell. The output is in the form of total

Using CMAC to Obtain Dynamic Mutation Rate in a Metaheuristic Memetic Algorithm to Solve University Timetabling Problem

175

information stored in memory cells according to the inputs. CMAC will learn correct outputs by changing the contents of memory cells corresponding to the inputs. For every input there is a coefficient that obtained from different amount of CMAC output and the expected output as learning coefficient to add to the selected memory cells contents. A CMAC model with two input variables s1 and s2 is shown in Fig. 1. The input variables of CMAC model divide to the discrete spaces called blocks. For example, blocks A, B, C for the input variable s1 and blocks a, b, c for the input variable s2. The surface which is obtained through s1 and s2 is called hypercube. For example, the hypercube Aa, Ab, ..., Ba,…,Bc. Each hypercube is a memory cell to Store and retrieve data or weights. Figure 1: CMAC model

New hypercubes are made in layers or different lines by shifting blocks in small size of distance called element. For example, for blocks A, B, C which are related to variable s1, the blocks F, E, D in the second layer and blocks G, H, I in the third layer will be made. Since only the existing blocks in the corresponding layers can make hypercubes, the hypercubes Ee, Ig, Hh and Fe are obtained. CMAC model produces the outputs by using the search table and based on the associative memory cells. For input variables some of the associative memory cells will be activated and with recovering the saved weights and calculating sum of them the output can be got. For example, with considering ( s1, s 2) = (4,3) the output is sum of existing weights in the hypercubes Hh, Fe and Bb. The output of CMAC model is obtained through the equation (1). M

y ( s ) = a T ( s )W = ∑ a j ( s )W j j =1

(1) In which S is a specified input state, M is the memory capacity and W is weight vector or the saved data in the memory. If the memory cell j is covered with one of the hypercubes of input state S, a j (s ) equals 1 and otherwise it will equal to 0. CMAC learns the correct output through changing the weights of the hypercubes corresponding to inputs. Its learning equation is shown in equation (2).

Wnew = Wold +

α Ne



a ( s )( y ( s ) − a T ( s )Wold ) (2)

176

Amin Jula and Narjes Khatoon Naseri ^

In which α is the learning rate as 0 ≺ α ≺ 1 , y ( s ) is the amount of output or the expected solution, Ne



is the number of the layers and

y ( s ) − a T ( s )W old

equals to the amount of failure for the learning a (s ) sample. The failure is multiplied to in order to adjust only the weights of the memory cells which are covered by the input hypercubes as mentioned by Talbi E.G. (2002).

4. Proposed Memetic Algorithm 4.1. Chromosome Structure In memetic algorithm every chromosome is a solution for the problem. In the proposed algorithm a gene is a record with four fields which are related to the number assigned to the lecturer, weekday, the number of the timeslots in each day and the room number. A chromosome is a record consisting of some genes and fields to keep the fitness of the produced chromosome. In order to make the first population, an array of above-mentioned chromosome should be defined. In the proposed algorithm, chromosomes will be produced completely intelligent. The lecturers are rested in the chromosomes based on their number and according to their suggested plan. Moreover, for the flexibility in planning, lecturers are planned always for fewer numbers of their suggested timeslots. But selecting timeslots occurs randomly. Then one room is selected randomly from the available rooms and is specialized to all the genes related to one lecturer so that the all lectures of each lecturer are held in one room. After producing every chromosome, the local search is operated on it to optimize the produced chromosomes in their neighboring zone.

4.2. Fitness Function The fitness function used in proposed algorithm for solving university timetabling problem is responsible to find the number of constraint violations. Therefore, a solution with the less amount of fitness among all solutions is the better solution and expected individual. Equation 3 shows the used fitness function. n

f (t ) = ∑ p j g j (T ) j =1

(3)

p g (T ) is the number of In which j is the amount of penalty for violating the constraints j and j violations in the planning table T for every constraint j. p In this article the amount of j is selected as one for soft constraints and three for hard constraints. In the university timetabling problem the fitness function takes a significant share of the time of operating the algorithm due to the structure of the chromosomes and the number of the fields making the genes. Therefore, trying to reduce the amount of time related to operating this function will lead to a decrease in the amount of the related time to operate the whole algorithm. Since in the proposed method, because of intelligent chromosome producing the constraint of not scheduling lectures in timeslots that have not been offered by the lecturers is not violated, it is not necessary to search solutions to find number of this constraint violations. This approach leads to the dramatic increase in the speed of calculating the fitness of the solutions.

4.3. Crossover Operator Crossover is one of the most important genetic algorithm operators. This operator joins a part of a chromosome to another chromosome and produces the new chromosome which is called offspring. The new chromosome is the same as its parents in terms of size and construction.

Using CMAC to Obtain Dynamic Mutation Rate in a Metaheuristic Memetic Algorithm to Solve University Timetabling Problem

177

To perform the crossover operator, for selecting the two parents' chromosomes according to what was completely explained by Knowles J.D. and Corne D.W. (2000), one chromosome is randomly selected as the first parent, then among the other chromosomes, the one which is extremely different from the first parent is selected as the second parent. After that, according to the performance method of two point crossover operator, two different parts of each of the two parents' chromosomes are randomly selected and crossover is performed on them. Since the lecturers are located in the chromosomes respectively, the crossover doesn't have any effect on their location and discipline is not ruined. The crossover operator applied in proposed algorithm is shown in Figure 2. Replacement operator or transfer the chromosomes to the next generation uses a new eliteselection policy. Two best chromosome from among two parents chromosomes and two offsprings are selected and the best chromosome is directly transferred to the next generation and the other chromosome is replaced for the worst chromosome in current generation. Figure 2: A sample of crossover operator in proposed algorithm

Of course replacement is just performed when the produced chromosome is better than the one which is selected for replacement. This replacement method causes the new generation to have always better chromosomes than their preceding generation.

4.4. Mutation Operator Mutation operator can be performed on chromosomes through different methods; but what is used in proposed algorithm is a heuristic mutation operator. Since the main problem in chromosome is the interference in one room's timetable in a timeslot and a certain day and with respect to the fact that the days and the timeslots are allotted and are completely intelligent, we can't change them gropingly. So, what can be changed is just the classroom. So, we randomly select a lecturer and a room, and all of the locations for the lectures of that lecturer are allocated to that selected classroom. The mutation rate is reached intelligently and according to a heuristic algorithm with the use of CMAC. The reason for using the CMAC is its high speed and guaranteed convergence as proven by Albus.J.S (1975) and Rahmani A. M. and Teshnehlab M. (2005).

178

Amin Jula and Narjes Khatoon Naseri

4.5. Mutation Rate Calculation Using CMAC 4.5.1. Primary Instruction CMAC At first, CMAC are quantified primarily, statically and by using equation (4) as mentioned by Srinivas M. and Patnaik L. M. (1994) with three parameters including the average of the fitnesses of the chromosomes of the generation ( favg ) , the fitness of the selected chromosome for the mutation performance ( f ) and the best amount of fitnesses in generation ( fbest ) .   ( f max − f )  , f ≥ favg 0.05 ×   pm =  f max − favg    0.3, otherwise

(4) Each of the parameters is divided in a way that includes six blocks. Also, the used CMAC is implemented as two-layer CMAC which means that two hypercubes of CMAC will be active in each visit.

4.5.2. Achieving Mutation Rate and CMAC Dynamic Learning Initialized data of CMAC are used to calculate mutation rate with no change to produce 30 generations to clarify their effects on performance process. Thereafter, CMAC learning process should be followed dynamically. So, we call each ten–generation as one stage, at the end of each stage we find the ration of the number of generation till yet, to the average of fitnesses of the generation. The result of its division to the result of this ratio in previous stage is calculated. What is achieved is called ''success coefficient''. If the calculated success coefficient in this stage of performance is bigger than success coefficient in previous stage, it means that the performance process is accurate and current chromosomes in evolution process are going to produce the best fitnesses. So the possibility of the performance of mutation operator which causes differentiation in the generation must be reduced in order to this process to be maintained. But if the calculated success coefficient in this stage is smaller than success coefficient in previous stage or is equal to it, this result with a high possibility doesn't lead to produce better generations. So, the mutation rate must be increased so that more changes in chromosomes may lead to produce better fitnesses. With respect to these cases, for CMAC dynamic learning, the abstract number of the result of the subtraction of current and previous success coefficient is subtracted from the fix number 0.2. Then, to increase the mutation rate, the achieved result is added to the amount of one hypercube from CMAC which is selected by three aforementioned parameters or for reducing mutation rate is subtracted from it. Then we take an average from the current amount of the selected hypercube and new achieved amount and the result is located in the selected hypercube. The fix amount of 0.2 is also achieved on the basis of try and error and examines different amounts. Figure 3 shows the usage and figure 4 shows the algorithm of dynamic instruction and also the calculation of mutation rate. Figure 3: Implemented CMAC for proposed algorithm

Using CMAC to Obtain Dynamic Mutation Rate in a Metaheuristic Memetic Algorithm to Solve University Timetabling Problem

179

4.6. Proposed Local Search A local search algorithm starts from a primary state

S0

and enters a loop which explores the search N (S0 ) space which is exactly the neighborhood space of a chromosome . Searching each iteration is S S moving from one state i to a neighbor state i+1 as written by Talbi E.G (2002). In each phase of local search process, fitness function estimates the quality of each neighbor and continues searching process until it finds the best chromosome in the current chromosome neighborhood. There are three classic local search algorithms which called hill climbing, simulated annealing and tabu search. The used local search method in proposed algorithm is a heuristic local search which has more efficiency for university timetabling problem in comparison with classic methods. This heuristic method needs less runtime than the classic methods. Because of this, the genetic part of the memetic algorithm can produce more generations in a certain time and leads to achieve better fitnesses in a less time. This search algorithm explores the chromosome to find the lectures which are scheduled for a lecturer in one day and timeslot and are conflicted, at first, and for each of them investigates the represented program by the lecturer and selects another day and timeslot which does not have conflicts and replaces it. Meanwhile, if you find a room to which in one day and a certain timeslot more than one class is allotted, it investigates the rooms' schedule and selects a room for which in that certain day and timeslot there is no planning and replaces it for that specified room in the chromosome. Then the fitness of the new chromosome is calculated, if the fitness is adjusted, the chromosome which is the result of local search will be replaced with the primary chromosome, otherwise that primary chromosome is identified as the best solution in its neighborhood and will remain unchanged. Since this local search behaves with the use of the knowledge existed in the program and is completely intelligent, can improve the primary chromosome as much as possible.

5. Implementation and Comparing the Results University timetabling problem and different presented algorithms to solve it were performed in 210 seconds in a same computer in the same situation. To solve this timetabling problem it is tried to satisfy different following constraints as: 1) a lecturer cannot represent more than one lecture in the someday and timeslot, 2) timetable producer cannot plan for the day and the timeslot in which the lecturer didn't announce any suggested plan, 3) it is impossible to schedule more than one lecture in the someday and timeslot and 4) number of students in a room should be less or equal to the capacity of the room. In the other hand, suggested plan which represented by the lecturers should obey conditions as follow: 1) each lecturer should announce a plan for at least three days, 2) the announced plan of the lecturer should cover the obligatory hours that is 15 hours in investigated system and 3) each lecturer should announce at least two timeslots more than his obligatory in order to make the timetabling more flexible. In the implemented algorithm there are four three-hour timeslots in each day but it is possible to change them for different problems. Due to analyze the performance of proposed algorithm, there are three different timetabling problems designed and investigate for timetabling which have 15, 20, 40 lecturers and each have respectively 6, 8 and 17 rooms. Crossover possibility considered as 0.9 and the numbers of chromosomes in each generation fixed to 100 and the suggested plans of lecturers are created in a random way. While performing the program for any of the three problems, the fitness value of the best chromosome which means the number of constraint violations will be saved. Furthermore, in order to compare results of proposed algorithm to another memetic algorithm it is tried to solve the mentioned timetabling problems by a memetic algorithm uses hill climbing method

180

Amin Jula and Narjes Khatoon Naseri

as a sample of classic local search algorithm instead of the proposed local search. The achieved results of these three performances are shown in Table 1. Table 1:

Results of three different algorithms to solve three different timetabling problems

Problem No.

Number of Lecture rs

Numbe r of Rooms

Number of Chromosom es

Runtime in Seconds

Best Fitness in Genetic Algorithm

Best Fitness in Memetic Algorithm with Hill Climbing

1 2 3

15 20 40

6 8 17

100 100 100

210 210 210

12 18 61

8 16 54

Best Fitness in Memetic Algorithm with proposed local search 0 1 2

For investigating the effect of using CMAC in calculating the mutation rate, a problem with 80 lecturers and 27 rooms is also solved using the proposed algorithm and its achieved results were compared with the achieved results of performing the algorithm with fix mutation rates of 0.1 and 0.2. Table 2:

Results of proposed algorithms using CMAC and without it in solving a timetabling problem

Proble m No.

Number of Lecturer s

Number of Rooms

Number of Chromosom es

Runtim e in Seconds

Crossover Rate

Static Mutatio n Rate

1 2

80 80

27 27

100 100

210 210

12 18

0.1 0.2

Best Fitness in proposed Algorithm without CMAC 5 6

Best Fitness in proposed Algorithm with CMAC 2 2

Conclusion In this research a new metaheuristic method has been proposed based on memetic algorithm approach. This method has two features. The first is designing a new local search algorithm particular to university course timetabling problem. The proposed local search algorithm intelligently tries to replace conflicted allocated resources in produced timetable based on available data. The second feature is applying CMAC as a trainable machine to calculate and update mutation rate related to different possible states in the process of algorithm execution. The experimental results show that the timetables achieved form proposed local search algorithm has less constraint violations in comparison to genetic algorithm and memetic algorithm using Hill Climbing as a classic local search algorithm. Therewith, using CMAC has led to obtain mutation rate intelligently and dynamically based on execution information and the best solutions are obtained when CMAC is used.

References [1] [2] [3]

[4]

Abdullah S. and et al., 2007, “A hybrid evolutionary approach to the university course timetabling problem”, IEEE Congress on Evolutionary Computation, CEC 2007. Albus.J.S, 1972, “Theoretical and practical aspects of a cerebellar model”, PhD Dissertation, University of Maryland. Albus.J.S, 1975, “A new approach to manipulator control: the cerebellar model articulation controller (CMAC)”, Journal of Dynamic systems, measurements and control, ASME 97, pp. 220-227. Der-Fang Shiau, 2011, “A hybrid particle swarm optimization for a university course scheduling problem with flexible preferences”, Expert Systems with Applications 38, pp. 235248.

Using CMAC to Obtain Dynamic Mutation Rate in a Metaheuristic Memetic Algorithm to Solve University Timetabling Problem [5] [6] [7]

[8]

[9]

[10] [11]

[12]

[13] [14]

[15]

[16]

181

Edmund K. Burke and et al., 2007, “A graph-based hyper-heuristic for educational timetabling problems”, European Journal of Operational Research, Volume 176, Issue 1, 1, Pages 177-192. Enzhe Yu and Ki-Seok Sung, 2002, “A genetic algorithm for a university weekly course timetabling problem”, International Transactions In Operational Research. 9, pp. 703-717. Fukushima Makoto, 2010, “A Hybrid Algorithm for the University Course Timetabling Problems”, Journal of Japan Society for Fuzzy Theory and Intelligent Informatics, Vol. 22, no. 1, pp. 142-147. Knowles J.D., Corne D.W. M-PAES, 2000, “A memetic algorithm for multiobjective optimization”, Proceedings of the congress on evolutionary computation, CEC 2000, IEEE press, pp. 325-332. Mohammed Azmi Al-Betar and et al., 2010, “A Harmony Search with Multi-pitch Adjusting Rate for the University Course Timetabling”, Studies in Computational Intelligence, 2010, Volume 270, pp. 147-161. N. L. Law, K.Y. Szeto, 2006, “Adaptive Genetic Algorithm with Mutation and Crossover Matrices”, IJCAI, pp. 2330-2333 Natalio Krasnogor, Jim Smith, 2005, “A Tutorial for Competent Memetic Algorithms: Model, Taxonomy, and Design Issues”, IEEE Transactions on Evolutionary Computation, Vol. 9, No. 5. R Qu and E K Burke, 2009, “Hybridizations within a graph-based hyper-heuristic framework for university timetabling problems”, Journal of the Operational Research Society 60, pp. 12731285. Rahmani A. M., Teshnehlab M., 2005, “One-Day_Ahead Temperature Prediction using a new neural network”, International Journal of Engineering Science (IUST), Vol. 16(3), 4, pp. 1-8. Srinivas, M., Patnaik, L. M., “Adaptive Probabilities of Crossover and Mutation in Genetic Algorithms”, IEEE Transactions on Systems, Man and Cybernetics, Vol. 24, No.4, pp. 656667. Subhash C. Sarin, Yuqiang Wang and Amrusha Varadarajan, 2004, “A university-timetabling problem and its solution using Benders' partitioning- a case study”, Journal of Scheduling, Volume 13, Number 2, 131-141, Springer. Talbi E.G. 2002, “Taxonomy of hybrid metaheuristics”, Journal of heuristics, vol. 8, pp. 541564.

Suggest Documents