An Organizational Evolutionary Algorithm for Numerical Optimization

5 downloads 0 Views 3MB Size Report
II. ORGANIZATIONAL EVOLUTIONARY ALGORITHM. A. Problem Definition. A UCOP can be ... x x. F. R. (3) where gj(x), j=1, 2, …, m are constraints. B. Constraints Handling. The main purpose of this ...... Conference, W. Banzhaf, J. Daida, A. E. Eiben, M. H. Garzon, V. Honavar, M. .... John Wiley and Sons, LTD. 2001. [36] F.
SMCB-E-08102005-0551.R2

1

An Organizational Evolutionary Algorithm for Numerical Optimization Jing Liu, Member, IEEE Weicai Zhong, Member, IEEE and Licheng Jiao, Senior Member, IEEE

Abstract—Taking inspiration from the interacting process among organizations in human societies, this paper designs a kind of structured population and corresponding evolutionary operators to form a novel algorithm, Organizational Evolutionary Algorithm (OEA), for solving both unconstrained and constrained optimization problems. In OEA, a population consists of organizations, and an organization consists of individuals. All evolutionary operators are designed to simulate the interaction among organizations. In experiments, 15 unconstrained functions, 13 constrained functions, and 4 engineering design problems are used to validate the performance of OEA, and thorough comparisons are made between OEA and existing approaches. The results show that OEA obtains good performances in both the solution quality and the computational cost. Moreover, for the constrained problems, the good performances are obtained by only incorporating two simple constraints handling techniques into OEA. Furthermore, systematic analyses have been made on all parameters of OEA. The results show that OEA is quite robust and easy to use. Index Terms—Evolutionary algorithms, organization, numerical optimization, constrained optimization problems.

f(x) ψ(x) S F n x, y, z, r, q xi, yi, zi, ri, qi x

xi

NOTATION LIST Objective function Objective function with penalty term for constrained optimization problems Search space Feasible region Dimension of the search space Real-valued vectors in the search space The ith Components in the vectors x, y, z, r, q Vector of the lower bound of the search space

x xi

The ith Component in the vector x Vector of the upper bound of the search space The ith Component in the vector x

g(x) m Pt

Constraints Number of constrains Population in the tth generation

Manuscript received August 10, 2005. This work is supported by the National Natural Science Foundation of China under Grant 60502043. The authors are with the Institute of Intelligent Information Processing, Xidian University, Xi’an, 710071, China. ([email protected])

I. INTRODUCTION

E

VOLUTIONARY algorithms (EAs) [1], based on an analogy to natural evolution, have recently gained increasing interest. They are suitable for solving complex or ill-defined problems and have been successfully applied to the fields of numerical optimization, constraint satisfaction problems, data mining, neural networks, and many other engineering problems [2]-[10]. Numerical optimization problems arise in almost every field of science, engineering, and business, and usually can be divided into two types, namely, unconstrained optimization problems (UCOPs) and constrained optimization problems (COPs). The COPs usually are named as the general nonlinear programming problems. This paper proposes a new EA for solving both UCOPs and COPs. A. Proposed Approach Traditionally, populations in EAs are simple non-ordered sets of individuals. Those individuals that will generate offspring are usually selected from all individuals according to their fitness. So the global fitness distribution of a population must be determined. The main consequence of this design is that the gene-flow inside the population is much higher compared to a real world situation, which often leads to premature genetic convergence. In fact, the real natural selection only occurs in a local environment, and each individual can only interact with those around it. That is, in some phase, the natural evolution is just a kind of local phenomenon. The information can be shared globally only after a process of diffusion. Therefore, several studies tackled this problem by developing structured populations, such as cellular genetic algorithms [11], multinational evolutionary algorithms [12], patchwork models [13], MAGA [7], MAEA-CSPs [8], and so on. In economics, R. H. Coase explained the sizing and formation of organizations from the framework of transaction costs [14]. The basic idea is that the organization exists because it reduces the overhead transaction costs associated with exchanging goods and services. This concept was introduced to the learning classifiers based on genetic algorithms by Wilcox in 1995 [15], which put emphasis on inventing an autonomous mechanism using transaction costs for forming appropriately sized organizations within a classifier. Actually, in the real world situation, to achieve their purposes, organizations will compete or cooperate with others so that they can gain more resources. As a result, the resources will be reasonably distributed among

SMCB-E-08102005-0551.R2 all organizations little by little. This process plays an important role in human societies. We think such a process can be viewed as a kind of optimization, and is an interesting new idea for designing EAs. Taking inspiration from the aforementioned process, this paper proposes a new framework for evolutionary optimization, named as Organizational Evolutionary Algorithm (OEA). In OEA, organizations are composed of members, and a population is composed of organizations, so that a structured population results. On the basis of such a structured population, all evolutionary operations are performed on organizations. Therefore, three evolutionary operators are developed for organizations. These operators are composed of several crossover and mutation operations in common use so as to prove the effectiveness of the new framework. The experimental results on 15 UCOPs, 13 COPs, and 4 well-studied engineering design problems show that OEA obtains good results. Being different from [15], OEA does not put emphasis on forming the appropriately sized organizations, but on simulating the interaction among organizations. Therefore, in OEA, all evolutionary operators are not directly performed on individuals, but on organizations instead. As a result, there is no global selection at all, so the global fitness distribution is not required. An organization interacts with others so that the information can be diffused. Obviously, such a kind of population is more similar to the real evolutionary mechanism in nature than the traditional population. In [10], we propose organizational coevolutionary algorithm for classification (OCEC). But the organizations in OCEC are different from the ones in OEA. OCEC is developed for solving classification problems in data mining. Although both the organizations in OCEC and in OEA are composed of members, the members in OCEC stand for the examples in the training set while the members in OEA stand for the real-valued vectors in the search space. Moreover, the fitness in OCEC is designed to manifest the different importance of the attributes, while the fitness in OEA is the value of the objective functions. Of course, their similarity is that both OCEC and OEA simulate the interaction among organizations. B. Related Work Some aspects of OEA are similar to the existing approaches. The first is an analogy between OEA and similar EAs. The second is the constraints handling techniques. In this subsection, we would like to briefly discuss the similarities and differences between OEA and the existing approaches in these aspects. Since the organizations in OEA consist of members, and the members are similar to the individuals used in traditional EAs, one might argue that the organizations are similar to the subpopulations in coarse-grained parallel EAs (CGP-EAs) or multi-island EAs [16]. CGP-EAs are a kind of distributed EA, and are a parallel implementation of EAs. In CGP-EAs, evolution occurs in multiple parallel subpopulations, each running a local EA, evolving independently with occasional “migrations” of selected individuals among subpopulations. There are several differences between OEA and CGP-EAs.

2 First, the number of the subpopulations and the size of each subpopulation of CGP-EAs are fixed during the evolutionary process, whereas the number of organizations and the size of each organization of OEA change from generation to generation. Second, the main interaction among subpopulations is copying better-performing or random individuals to neighboring subpopulations at regular intervals. Whereas the interaction among organizations is realized by the evolutionary operators. That is, OEA can be viewed as using additional operators in the migration process. Third, each subpopulation runs a local EA, while no evolutionary operations occur within the organizations in the current form of OEA. However, from another viewpoint, OEA can be really viewed as a kind of CGP-EA. Since CGP-EAs are just parallel techniques, they often present the same problem as traditional EAs. But OEA takes inspiration from simulating the interacting process among organizations in human societies, and the experimental results show that OEA obtains good performances for both UCOPs and COPs in a wide range of benchmark functions. Therefore, OEA can be viewed as a successful development of CGP-EAs. Since EAs are unconstrained search techniques, incorporating constraints into the fitness function of an EA is still an open research area. There is a considerable amount of research regarding mechanisms that allow EAs to deal with constraints. The most common constraints handling methods in EAs is to use penalties. In these methods, a penalty term is added to the objective function. The penalty can be static, which is only related to the degree of constraint violation, or dynamic, which is related to both the degree of constraint violation and the generation number. The weakness of penalty methods is that they often require several parameters. There also has some literature proposing self-adaptive penalty methods, such as [17] used a two-stage penalty to measure the infeasibility, and no parameter was used. Due to the simplicity and ease of implementation, penalty methods are the most common methods used in solving real world problems. Therefore, we incorporate a simplified version of the static penalty method into OEA, which only uses one parameter. The use of rules based on feasibility is another class of constraints handling method. Reference [18] used three simple rules to deal with the constraints, and incorporated these rules into the self-adaptation mechanism of an evolution strategy. Since this method is proved to be effective in solving a wide range of COPs, and no parameter is used, we also incorporate the three rules into OEA, and make a comparison between OEA and SMES [18] in Subsection IV.C. Reference [19] introduced a stochastic ranking method in which the objective function values are used for ranking the solutions in the infeasible region of the search space. A probability parameter is used to determine the likelihood of two individuals in the infeasible space being compared with each other. This method is also proved to be effective in solving a wide range of COPs, so a comparison is made between OEA

SMCB-E-08102005-0551.R2

3

and this method in Subsection IV.B. Reference [20] used the Pareto ranking to deal with constraints. Although this method can reduce the number of additional inputs required for constraints handling, the computational time involved in nondominated sorting was increased. Reference [20] used four well-studied engineering design problems to evaluate the performance of the proposed method, so a comparison is also made between OEA and SCA [20] in Subsection IV.D. There are many other constraints handling methods making use of different techniques, such as GENOCOP [21], GENOCOP II [22], GENOCOP III [23], microgenetic algorithm [24], varying fitness functions [25], homomorphous mappings method [26], coevolutionary augmented Lagrangian method [27], the methods based on multiobjective algorithms [28], [29], and so on. More detailed descriptions about constraints handling in EAs were given in [30], [31].

II. ORGANIZATIONAL EVOLUTIONARY ALGORITHM A. Problem Definition A UCOP can be formulated as solving the objective function (1) minimize f(x), x=(x1, x2, …, xn)∈S where S⊆Rn defines the search space which is an n-dimensional space bounded by the parametric constraints xi ≤ xi ≤ xi , i=1,

2, …, n. Thus, S = [ x, x ] , where x = ( x1 , x2 , ..., xn ) and

x = ( x1 , x2 , ..., xn ) . A COP can be formulated as solving the objective function (2) minimize f ( x ), x = ( x1 , x2 ,  , xn ) ∈ S ∩ F where S is the same with that of (1), and the feasible region F is

{

}

F = x ∈ R n g j ( x ) ≤ 0, j = 1, 2,  , m

(3)

where gj(x), j=1, 2, …, m are constraints. B. Constraints Handling The main purpose of this paper is to propose OEA and illustrate the effectiveness of OEA’s search ability, so two kinds of simple constraints handling techniques are used. The first technique uses a simplified version of the static penalty method [32], that is, COPs are transformed into UCOPs by adding a very simple penalty term in (4)

ψ ( x ) = f ( x ) + A∑ j =1 max {0, g j ( x )} m

(4)

where A∈R is a penalty coefficient and needs to be tuned for different problems. In the following text, this technique is labeled as CHp. The second technique has been widely used in EAs for COPs [18], [33], [34], and has been also extended to multiobjective optimization problems [35], [36], [37]. This technique uses a comparison mechanism based on the following rules, 1) Between two feasible solutions, the one with the larger fitness value wins; 2) If one solution is feasible and the other is infeasible, the

feasible solution wins; 3) If both solutions are infeasible, the one with the smaller sum of constraint violation is preferred. This technique is non problem-dependent, and no parameter needs to be tuned. In the following text, this technique is labeled as CHc. C. Organization Definition In OEA, an organization consists of several members, and a member is a solution of the objective function. Since a UCOP can be viewed as a COP satisfying the constraints, we define Member for both problems as follows, Definition 1: A Member is a real-valued vector that belongs to the search space, namely, Member∈S. There are two measures, MemberF and MemberV, to evaluate the member’s quality. MemberF denotes the fitness and − f ( Member ) for UCOPs  Member F = − f ( Member ) for COPs with CHc (5) −ψ ( Member ) for COPs with CHp  MemberV denotes the sum of constraint violation and  for UCOPs 0  V for COPs with CHp Member = 0  m max {0, g j ( Member )} for COPs with CHc  ∑ j =1 (6) Thus, the purpose of OEA is maximizing MemberF. When comparing the qualities of two members, both MemberF and MemberV should be considered. So the members are compared according to Definition 2. Definition 2: If two members, Member1 and Member2, satisfy (7) or (8) or (9), then Member1 is better than Member2, and labeled as Member1  Member2 .

( Member1V =0)and( Member2V = 0)and( Member1F > Member2F ) (7) V V (8) ( Member1 =0 ) and ( Member2 > 0) ( Member1V >0)and( Member2V > 0)and( Member1V < Member2V ) (9) Definition 2 realizes the three rules of CHc. By Definitions 1 and 2, OEA can use a uniform framework to deal with both UCOPs and COPs with the two different constraints handling techniques. On the basis of Definitions 1 and 2, an Organization is defined as follows, Definition 3: An Organization, org, is a set of members, and the best member is called Leader, which is labeled as Leaderorg, that is, an organization and the leader satisfy (10) and (11), where |org| indicates the cardinality of org.

( org = {Member , Member , ..., Member }) and ( org ≠ ∅ ) 1

2

∀Member ∈ org , Leaderorg ≺ Member

|org |

(10) (11)

When two organizations are compared, only the two leaders are considered. Namely, org1 is better than org2 if

SMCB-E-08102005-0551.R2

4

Leaderorg1  Leaderorg2 , and labeled as org1  org2. D. Evolutionary Operators for Organizations In the real world situation, there is a severe competition among organizations, and the strong ones always annex the weak ones. In OEA, the strength of an organization manifests in the fitness of the leader. So the purpose of each organization is to increase the leader’s fitness as much as possible. To achieve this purpose, each organization must interact with others. On the basis of such interactions, three evolutionary operators are designed, that is, the splitting operator, the annexing operator, and the cooperating operator. Splitting operator: In human societies, an organization whose size is too large usually is split into several small organizations so that they can be easily managed. In OEA, if most of the members belong to the same organization, the evolutionary operations would be disabled. So when the size of an organization exceeds a limit, this organization must be split. Let MaxOS be the parameter controlling the maximum size of an organization, and MaxOS>1. If a parent organization, orgp, satisfies (12), then orgp will be split into two child organizations, orgc1 and orgc2.

{

(| org |> MaxOS ) or (| org |≤ MaxOS )

(

and U ( 0,1)