• No results found

Multi-Objective Genetic Algorithm (MOGA, or MOEA)

4.4 The Genetic Algorithm

4.4.2 Multi-Objective Genetic Algorithm (MOGA, or MOEA)

MOEA)

In the real world, optimising a problem can involve multiple optimisation targets, say objectives, such as area, routability, delay and power consumption when mapping a circuit on FPGAs, and these objectives can be partially conflicted (Greiner et al., 2003). Especially, in the circuit clustering problems, these conflictions are, for example, the increase of the number of BLEs in a CLB might use more inputs and outputs of the CLB, and the reduction of interconnects between CLBs might increase as more CLBs are used. To enable the GA to work for multiple objective problem optimisation, a standard GA framework, as shown in Figure 4.10, can be extended as MultiObjective GA (MOGA). This is typically achieved by using two methods:

First, the targeting objectives can be weighted in a single fitness function as introduced before, in which the fitness can represent all features of the objectives. However, this might change the optimisation ability of the GA for a particular objective, so the weighting factor of each objective has to be carefully selected. Although the weighting proportions can be adjusted, if in a worst case there are a few conflicted objectives in a problem, the weighted fitness can cause the optimisation to get stuck in a local optimal or an invalid

solution to be produced.

The other approach to deal with multiobjective optimisation in GA is to use the concept of Pareto optimality (Pareto, 1906); this is implemented in the selection mechanism – it can be categorised as a fitness ranking selection. Pareto optimality, also called Pareto efficiency, stats an resource allocation method for a set of individuals in a society, where it is not possible to make any one individual better off without making at least one indivdiual worse off. This concept is proposed by an Italian engineer and economist, Vilfredo Pareto, based on his research in economic efficiency and income distribution. This concept is well known, and widely applied to for example economical and engineering areas. It is an efficient approach to deal with multiobjective optimisation problems. Compared with the standard GA, or the SGA, which uses only one fitness function in its selection, this method deploys a few fitness functions matching to each objective that have to be optimised in the evaluation and selection. Instead of searching one global or near global solution according to one fitness function, especially when there are a set of conflicted objectives, this method allows that the GA finds a set of tradeoffs of solutions throughout n-dimensional fitness spaces – via n fitness functions. The set of tradeoffs is referred to as Pareto set, or non-dominated front. If solution A dominates B, then the domination relationship can be presented as the following Equation 4.6.

A dominates B ⇔ ∀i ∈ {1, 2, ..., n} ai > bi, and ∃i ∈ {1, 2, ..., n} ai > bi

(4.6)

Where ai and bi are the fitness of objective i in the solutions A and

B. Then the non-dominated fronts, or Pareto fronts, can be defined based on the solution domination relationships. This is normally processed by a non-dominated sort method in many MOGAs. After sorting, the first Pareto front solutions are the best tradeoff solutions. In many cases, finding Pareto fronts, particularly the first Pareto front, are usually useful for engineering.

Using this method to evaluate solutions can avoid the weighting proportions used in the single fitness function which limits the GA optimisation ability, and enable the GA to handle more conflicting objectives.

Using GA to solve multiobjective problems can be traced back to the 1990s, where Fonseca and Fleming’s MOGA (Multi-Objective GA) (Fonseca and Fleming, 1993), Srinivas and Deb’s NSGA (Non-dominated Sorting GA) and Horn’s NPGA (Niched-Pareto GA) (Horn et al., 1994; Srinivas and Deb, 1995) have drawn much attentions in this area. These methods are built on the SGA, or more generally referred to as EA, and extend to the multiobjective EA (MOEA). This multiobjective (MO) extension can be summarised in two steps: First, the evaluation involves multiple objectives, and the individual fitness assignment is based on the non-dominated sorting. Second, the diversity of individuals on the same Pareto front needs to be maintained. Although these methods are able to solve multiobjective problems, Zitzler (Zitzler et al., 2000) have indicated that the previous methods lack the convergence property. They proposed a method that used elitism to improve the convergence property of MOEAs. In the MOEA, the non-dominated sorting is a computing density process, so it consumes more time on a computing system. NSGA-2 (Deb et al., 2002) then was introduced. This method uses a fast non-dominated sort to replace the conventional sort method, which reduce the computing complex

from O(M N3) down to O(M N2) where M is the number of objectives and

N is the population size, and utilises crowding distance method to select individuals. The detailed method is reviewed in Chapter 6. Compared with other MOGAs or MOEAs, this method overcomes the major drawbacks, and also reduces the computing density. It fast became a state-of-art multiobjective GA, and its multiobjective sorting and selection methods can be also used for different GAs.

4.4.3

Constraint handling in MOGAs

The real world optimisation problem not only comes with a few objectives, but also has constraints. For example, when designing a water pipe for maximising flow, the larger the diameter used, the more flow can get through. However, the diameter cannot be infinite. The cost and feasibility need to be balanced, and these are the constraints, so constraint handling is important. The constraint handling methods in MOGAs can be classified in four types:

1) Penalty function approach (Srinivas and Deb, 1995; Deb et al., 2000b): Similar to the penalty added in a single fitness function, to control constraints for MOGAs, the adding-penalty method can be used. To prevent the MO selection treating the penalty as an objective in an optimisation problem, which misleads the GA evolution, the penalty needs to add to all fitness functions. Note that, when adding the penalty, all functions have to be normalised.

2) Filtering infeasible solutions via the selection: Jim´enez and Verdegay

proposed a method (Jim´enez and Verdegay, 1998) to control constraints

in the selection which implemented a binary tournament selection for comparing solution feasibilities. In this process, two solutions are compared, where if one is infeasible, the solution is abandoned. If both solutions are feasible, Horn’s NPGA (Horn et al., 1994) is used to find the best one. On the other hand, if both solutions are infeasible, it will keep the one that is closer to the constraint boundary.

3) Elaborating constraint handling: This method was proposed by Ray (Ray et al., 2001). It suggests firstly performing a non-dominated sort by using the fitness only, and performs another non-dominated sort by purely using the constraint violations. Ultimately, using non-dominated sort sorts both the fitness function and the constraint violations. By combining the above sorts, the infeasible solutions are filtered.

entiates infeasible solutions from feasible solutions when performing the following non-dominated sort procedures:

It defines the principle as: “a solution i constrained dominates a solu- tion j” if any of the following statement is true:

1. i is feasible, j is not.

2. Both i and j are feasible. However, i has smaller constraint viola- tions.

3. Both i and j are feasible. Moreover, i dominates j.

4.5

Advantages and disadvantages

The use of EC, otherwise known as EAs, to solve problems has a number of advantages. Firstly, the EA is not like most of the heuristic algorithms which need to have specific knowledge on the targeted problem. This indicates that EA is a model-free heuristic algorithm, and can be used as a general problem solver. Compared with other model-free heuristic algorithms, such as random search, local search, tabu search and simulated annealing, where most of them do not respect the fitness landscape, or even the simulated annealing uses one individual which can be viewed as a simplified EA (Eiben and Smith, 2007), EAs are able to produce better solutions. In addition, there is a “no free lunch” theorem, and it proves that EA performs no worse in terms of conventional heuristic algorithms (Wolpert and Macready, 1997). Secondly, the EA can be extended for supporting multiobjective problems, and also the EA use the population model. It is not only useful for real world problems, but also supplying more possible solutions. Thirdly, due to the population that exists, it enables that the EA to be easily parallelised for optimising its computational intensities (Koza, 1999). Apart from the population, the EA components, such as representation, fitness, variation and selection are independent. These components can be reused, and easily tested.

However, the EAs are not problem free – the disadvantages can be sum- marised as the following: First, the EA can easily work on a problem, but it is difficult to guarantee that the EA can find the optimal solution for the problem. This is even more difficult for NP-hard problems. Second, since the EA uses a population, and other complex computations, such as fitness assignment, non-dominated sort, selection and the evolutionary iteration (generation based), results in the EA taking a longer time to solve a problem compared to conventional approaches. Third, an outstanding EA relies on the well designed representation, fitness function, variation operation, selection, or calibrated parameters. These designs are usually difficult, and have to involve a number experiments or extra self-adaptation mechanisms, or a strong understanding of an experienced designer.

4.6

Summary

This chapter introduces the concept of Evolutionary Computing (EC), and highlights that Evolutionary Computing is a set of Evolutionary Algorithms (EAs). The basic concepts and terms are described from the biological per-

spective. According to these biological terms, the components of Evolutionary Algorithms are introduced. The chapter focuses on the Genetic Algorithm (GA), which is one dialect of the Evolutionary Algorithms. The advantage and disadvantages of Evolutionary Algorithms are discussed. Genetic Algorithm is an automatic problem solver, and it is suitable for solving or optimising com- plex engineering problems. The proposed FPGA circuit clustering methods in this thesis are based on Genetic Algorithms, and use Genetic Algorithms as a main methodology. In the first method, stochastic variations are adapted to classic circuit clustering approaches. Subsequently, three Genetic Algorithm based clustering methods are proposed. To effectively evaluate solutions, the proposed Genetic Algorithm based methods are incorporated Pareto optimal- ity for multiobjective schemes. These proposed methods will be introduced in the following chapters.

Chapter 5

RVPack: Bottom-Up Circuit

Clustering Approach Using A

Stochastic Perspective Greedy

Algorithm

5.1

Introduction

This chapter introduces Random VPack (RVPack) – an extension of the VPack algorithm. VPack (Betz and Rose, 1997a) is a notable FPGA circuit clustering algorithm, which is implemented using the greedy algorithm (Cormen et al., 2009). The main advantages of this algorithm are that it is simple, effective and flexible. Unfortunately, there are also some disadvantages. These include inefficient cost-function design, non-optimal BLE selection, and the non- global building strategy. To improve the VPack algorithm, randomness can be injected reducing the effects of these disadvantages. Instead of obtaining a deterministic output, the random variations enable VPack to produce a number of stochastic solutions, and better solutions might be identifiable.

This chapter is organised as follows: Section 5.2 introduces the VPack algorithm in details and clarifies disadvantages, and problems of VPack in Section 5.3. An extended method, RVPack is proposed, and its implementation is described in Section 5.4. Experimental configurations and results are presented in Section 5.5 and Section 5.6 respectively, with discussion in Section 5.7. Then the summary of this chapter is in Section 5.8