Comparison Paper
Abstract
The paper is a comparison between ant colony optimization algorithms to genetic algorithm in multiprocessor task scheduling. The two approaches are important in optimizing task scheduling and ensuring minimal length of schedule. They have quite similar performance but are based on diverse behavior.
The problem is to determine a task scheduling approach where optimal scheduling is acquired and minimizes task execution time in multiprocessor systems. Ant colony optimization and genetic algorithm use directed acyclic graph which consider precedence relation between tasks and execution time.
Genetic algorithm represents the schedule as lists of computational tasks where they correspond to each list. Therefore task order in a list shows task execution order hence ensuring precedence relation is observed. Ant colony optimization is an iterative algorithm whereby pheromone variable is assigned to a problem and iteration generates more lists.
These two algorithms are faced with precedence constraints and communication costs between processors. They delay task scheduling process hence affecting the objective of minimizing task execution duration.
Objective function which is fitness function of algorithms is based on factors like throughput, finishing time, and process utilization. Ant colony optimization and genetic algorithm uses finishing time for schedule as their objective functions.
Any colony optimization uses the pheromone variables to enhance indirect communication hence making the process faster and advantageous over genetic algorithms. Genetic algorithm uses mutation, reproduction and crossover as genetic operators in determining which variable to pass on to next generation.
Genetic algorithm is intensified through combination of generate-schedule algorithm, crossover algorithm, mutation algorithm, and reproduction algorithm. This algorithm ensures best optimal schedules are acquired within shorter duration.
Implementation of the two approaches shows that ant colony achieves best solution faster using lesser iterations as compared to genetic algorithm. However, genetic uses more solutions to enable best scheduling making it a better approach.
Table of Contents
2.2 Solution Representation. 4
2.5 Neighborhood Moves/Genetic Operators. 4
2.6 Intensification and Diversification Strategies. 4
1. Introduction
There are several approaches in multiprocessor task scheduling all of which aim at minimization of task execution time. The essay is a comparison of ant colony optimization algorithm to genetic algorithm approaches in task scheduling. Ant colony optimization utilizes the behavior of ants in an attempt to acquire the shortest path in problem solving using pheromone variable which is an indirect communication mode between ants. Genetic algorithm uses genetic concepts of crossover, reproduction, and mutation in ensuring that the best strings or schedules are passed on to next generations hence achieving optimal scheduling. These approaches are significant since they put into consideration the increase in programs’ time complexity, hardware costs, communication costs and importance of precedence relation between tasks and processors (Mani et al., 2002).
2Discussion
Problem Statement
To determine multiprocessor scheduling approach where optimal task scheduling is achieved and schedule length is minimized in multiprocessor systems. Optimal scheduling in genetic algorithm is faced with the problem of assigning computational tasks to processors to maintain the precedence relationship and ensure completion of tasks is in the shortest time (Deitel & Deitel, 2005).
Deterministic model is used for multiprocessor scheduling is based on known execution time and relationship between computational tasks. Directed acyclic graph represents precedence relation among tasks with non-uniformity of task execution time. The edges in the graph represent precedence relation while nodes represent tasks.
Solutions
The expectation of genetic algorithms to withhold the precedence relation between computational tasks is resolved through representing the schedule as several lists of computational tasks. Computational tasks executed on a processor correspond to each list therefore the order of task execution is shown by order of tasks in the list. This enables maintain the intra-processor precedence relation while ignoring the inter-processor precedence relation. Intra-processor precedence relation is between tasks executed in a processor while inter-processor relation is between tasks executed in different processors. Ignoring inter-processor relation is necessary since its importance is only needed when calculating finishing time for schedule (Mani et al., 2002).
Ant colony optimization is an algorithm that utilizes the concept of the random social behavior of ants in using the shortest path from the food source to their nests. They leave pheromone substances during their walk which attracts more ants to the source of food. This iterative algorithm uses this concept whereby each problem takes a numerical variable called pheromone trail. Variables are initially small and identical, with iteration generating one or more Tabu lists. Ant at the start state selects next state using probability decisions based on pheromone trail values. This operation is repeated by the ant till a final state is reached (Moshfeghi, 2000). With regard to depositing pheromone, values of numerical variables are reached. Pheromone variables are then decreased through evaporation of pheromone and the process therefore attains optimal solutions due to convergence of ants.
Constraints
There are precedence constraints, and data communication costs. Multiprocessor systems are divided into tasks distributed over processors and task execution time is minimized through concurrent running of tasks. Genetic algorithm requires that precedence of tasks be observed therefore tasks are dependent (Mani et al., 2002). Precedence is therefore a constraint since some tasks need data from other tasks which generally slows down the multiprocessor scheduling process and hence the intended goal of minimizing task execution time is not completely achieved. Communication costs are incurred when tasks are performed in different processors. Processors require a data communication mode to ensure they are completely connected. Otherwise, if tasks are executed on the same processor no cost is incurred.
Objective function
Objective function, else known as fitness function in genetic algorithms is useful in evaluation of search nodes and genetic operators’ control and should therefore be optimized. There are several considerable factors in multiprocessor scheduling problem like throughput, finishing time, processor utilization but genetic algorithm uses finishing time for schedule as its objective function. Finishing time for schedule is the finishing time of last task in a processor which should be in maximization form. The smallest finishing time whose fitness value is larger than other schedules gives the optimal schedule.
Genetic operators/ Neighborhood Moves
Genetic algorithm has reproduction, crossover, and mutation as genetic operators. They create new search nodes through rearrangement and combination of old search nodes. In multiprocessor scheduling, there is combination of several optimal portions of a schedule to efficiently and effectively acquire the optimal schedule. Crossover creates new schedules through exchanging portions of two considered schedules. The legality of new schedules created relate to crossover sites selected which lie between tasks of different heights. Proof that the precedence relation, and completeness and uniqueness of tasks are observed through satisfaction of height-ordering condition then legalizes the new schedules created (Deitel & Deitel, 2005).
Crossover probability value is determined experimentally therefore controlling its application. It has a random nature, and may eliminate optimal solutions which are disadvantages of this operator. Reproduction creates new schedules based on the fitness value of old schedules. Schedules with higher fitness value are more likely to be selected since they are considered to have higher survival chances. Roulette wheel is used where schedules occupy slot sizes proportional to their fitness values hence schedules with larger slots are considered to have higher fitness values and are chosen. Genetic algorithm is hence increased since best schedules are passed to the next generation (Moshfeghi, 2000). Mutation requires random exchange of two tasks with the same height hence considered a premature convergence mechanism.
Ant colony optimization uses indirect communication enhanced by pheromone variable where all previous ant experiments are important in the new decisions. In comparison to mutation, reproduction, and crossover operators of genetic algorithm, indirect communication is faster and more precise since all experiences are considered unlike genetic operators where some experiences are annihilated.
Intensification and diversification strategies
Genetic algorithm entails diverse individual algorithms which can be intensified through their combination to form genetic algorithm for scheduling. Initialize through generating the initial population of search nodes needed from the generate-schedule algorithm, and store created strings in POP. Compute fitness value of each string. Perform reproduction, crossover, and mutation algorithms in that order. After which the string with smallest fitness value is replaced by the best. Computation of fitness value to replacement of string processes are repeated till there is convergence in the algorithm. Combination of these algorithms is an intensification strategy of enhancing genetic algorithm results (Moshfeghi, 2000).
Computational results
Genetic algorithm tested on random task graphs with optimal schedules resulted to task numbers in the range of 20 to 90. Number of successors for a task node is a random number between 1 and 4 and the execution is also a number between 1 and 50. Population size is equivalent to 20, crossover probability is one, mutation probability is 0.05 and maximum number of iterations is 1500. From these, genetic algorithm converges with less than 1000 generations. This is better than list scheduling (Deitel & Deitel, 2005).
Optimization and convergence in the implementation of ant colony optimization occurred after 500 iterations resulting to 500 ants. In comparison to genetic algorithm, ant colony optimization achieves the best solution faster since it only took 500 iterations while genetic took about 1000.
Genetic algorithm approach in multiprocessor scheduling problem using search nodes has eliminated the precedence relation condition and allows for efficiency of crossover operator in scheduling. In comparison of the experiments done by the two algorithm approaches ant colony optimization is faster since it uses lesser solutions to achieve optimal schedules. Therefore, schedule length is more minimized in ant colony optimization (Moshfeghi, 2000). However, genetic algorithm uses more solutions to achieve best scheduling. Therefore, genetic algorithm is considered a better approach in multiprocessor task scheduling since more solutions are evaluated to ensure best optimal schedule is chosen despite that ant colony optimization is faster.
- Bibliography
Deitel, H. & Deitel, P. (2005). Visual Basic: How to Program. New York, Prentice Hall.
Mani, I., Klein, G., House, D. & Hirschman, L. (2002). SUMMAC: A Text Summarization Evaluation. In Natural Language Engineering, 8 (1): 43-68.
Moshfeghi, K. F. (2000). A New Algorithm for Contextual Analysis of Farsi Characters and Its Implementation in Java. 17th Int. Unicode Conference, San Jose, CA.