Scheduling is a complex problem that we encounter in semiconductor fabrication factories everyday. Various methodologies are used in an attempt to look for the optimal solution. Among these methods, Genetic Algorithm (GA) [10][11]
and Swarm Intelligence methods [12][13][14], each has its’ advantages and disadvantages. We will introduce and discuss these methods in this chapter.
2.1 Heuristic Algorithm
Heuristic algorithm is a methodology that has been proven to find a near optimum solution in a reasonable time. It searches down the path of a search tree and determines the distance to the initial state during the progress and attempts to estimate the distance between the goal and current state using the heuristic functions in order to improve its searching efficiency. It is often used in semiconductor manufactories for lot scheduling due to its efficiency in calculation [15]. Sometimes simplified logical rules, that are designed closely related to the factory operation, are used in order to reduce the complexity.
2.2 Genetic Algorithm
Genetic Algorithm was invented in 1970 based on the theory of evolutions and genetics of life forms. Inheritance and crossover of parent solutions creates new generations. Since the good genes survive and bad ones will be eliminated through competition, the descendents usually produce better fitness. However, this method tends to converge with local optimum. Mutation of the genes ensures diversity of child generations. Thus we have a better chance in evolving to a better (if not the best) solution. Typically a solution is presented as a bit array. Depends on the nature of the problem a fitness function (sometimes called a cost function) is defined to compare the solutions quantitatively [16]. In typical implementation of GA for scheduling problem, we use a string consists of all job IDs to represent a solution.
The order of jobs in the string indicates the order in which the jobs will be processed.
Initial population is generated randomly. Parents are selected and perform crossover to generate the next generation. Mutations are conducted randomly to diversify the new population. The process is shown in Figure 2-1.
Calculate fitness for each individul
Optimal Solution has been found
Perform Selections Select individuals with good fitness
No Yes
Output Iteration Count Generate Initial Populations
Perform Mutation Create New individuals
Perform Crossover Create New individuals
Replace bad individuals
Figure 2-1 Flow Diagram of Genetic Algorithm
2.3 Particle Swarm Optimization for Scheduling Problem
Particle Swarm Optimization is one of Swarm Intelligence methods. It was
introduced by J. Kennedy and R. Eberhart in 1995 [17][18]. The methodology has been proven to be successful in solving optimization problems on various continuous functions [19]. The idea was inspired by observing the foraging of bird flocks. The behavior of an individual in a swarm not only depends on its own knowledge but also affected by the behavior or knowledge of other individuals in the swarm. For example, when one individual in the swarm or herd finds food in its path, the others will head toward that direction even if they don’t previously have the knowledge of that location. Also, other entities in the swarm do not simply head for the location that has food. It is common that they often veer off the path randomly and find food elsewhere. This also ensures that other locations in the search space are randomly searched.
When modeling such a swarm, particles are introduced to represent an individual in the swarm. A random location is selected and assigned to each particle.
A fitness function is defined to evaluate the solutions represented by these locations.
Each particle has an initial speed in each dimension of the search space. The particles then move in the space base on the memory of its own experience on best-known location and the swarm’s best-known location.
Similar to mutation that is used in GA a random factor is introduced in deciding the movement of a particle. It is important as it diversify the swarm. The fitness is calculated for the new locations and then new vectors and directions are calculated for each particle.
2.4 Comparison between GA and PSO
GA and PSO have very different features and behavior. Table 2-1 gives a list of the differences between GA and PSO.
Table 2-1 Comparisons between PSO and GA
PSO GA
Search Space Continuous Discrete
Survival All Particles Survives Fittest Population Knowledge on past results pbest and gbest Parents
Searching Behavior Directional Omnidirectional Diversity Random Coefficients Mutation
The two methodologies look fairly similar in some ways. They both preserve
the good results and have a way to diversify the population. PSO has a very obvious direction in its searching process. It is moving toward the past locations with best solutions. GA seems to be searching in all direction. It is mainly because the search space is discrete and it is the nature of the methodology.
GA has a discrete search space that no close relationship associated between different solutions. PSO implementation has a continuous search space and neighboring permutations usually have similar fitness.
Another big difference is survival of entities in the population. Solutions in the population with better fitness are selected to generate new generations while others are retired from the population. Unlike GA, all particles in PSO will survive and live until the end of the process.