absence of information regarding the preferences of objectives, a ranking scheme .... The topology model for the structure is a grid that defines the design domain. A ..... Design of Structures, NATO Advanced Research Workshop, Sesimbra, ...
Genetic Methods in Multi-Objective Optimization Of Structures with an Equality Constraint on Volume J. F. Aguilar Madeira1,2 , H. Rodrigues1 , and Heitor Pina1 1
2
IDMEC/IST-Mechanical Engineering Department, Instituto Superior T´ecnico, Av. Rovisco Pais, 1049-001 Lisbon, Portugal. {jaguilar, hcr, hpina}@dem.ist.utl.pt ISEL-Instituto Superior de Engenharia de Lisboa.
Abstract. The method is developed for multi-objective optimization problems. Its purpose is to evolve an evenly distributed group of solutions to determine the optimum Pareto set for a given problem. The algorithm determines a set of solutions (a population), this population being sorted by its domination properties and a filter is defined in order to retain the Pareto solutions. In most topology design problem volume is in general a constraint of the problem. Due to this constraint, all chromosomes used in the genetic algorithm must generate individuals with the same volume value; in the coding adopted this means that they must preserve the same number of ones and, implicitly, the same number of zeros, along the evolutionary process. It is thus necessary to define these chromosomes and to create corresponding operators of crossover and mutation which preserve volume. To reduce computational effort, optimal solutions of each of the singleobjective problems are introduced in the initial population. Results obtained by the evolutionary and classical methods are compared.
1
Introduction
The binary chromosome design and global search capabilities of the Genetic Algorithm (GA) make is a powerful tool for solving topology design problem (see e. g. Hajela et all [9], Chapman et al [1]). In contrast to single-objective optimization, where objective and fitness functions are often identical, both fitness assignment and selection must allow for several objectives when multi-objective optimization problems are considered. Hence, instead of a single optima, multi-objective optimization problems solutions consist often of a family of points, known as the Pareto optimal set, where each objective component of any point along the Pareto-front can only be improved by degrading at least one of its other objective components. In the total absence of information regarding the preferences of objectives, a ranking scheme
2
Aguilar Madeira et al.
based upon the Pareto optimality is regarded as an appropriate approach to represent the strength of each individual in an evolutionary algorithm for multiobjective optimization (Fonseca and Fleming [7], Srinivas and Deb [16]). In this work a GA for multi-objective topology optimization of linear elastic structures, with an equality constraint on volume, is developed. Due to this constraint all the chromosomes used in the GA are constructed to ensure the same volume for all individuals (designs), hence all of them have the same number of ones (implicitly, the same number of zeros) along the evolutionary process. For a typical chromosome defined by L genes there are a total of 2L possible solutions in the representation scheme. Considering the volume equality constraint, a significant decrease of this value can be achieved. If a chromosome with a total of L genes is considered and K genes being one (1 < K < L, (L−K) L! L possible configurations are possible. The genes being zero), only CK = K!(L−K)! present analysis explores this fact to reduce the computational effort required. It is thus necessary to define these chromosomes and to create accordingly new operators of crossover and mutation that preserve this constraint. Since a great diversity of solutions exist, additional information obtained a priori from classical methods for single-objective optimization is incorporated in the algorithm to obtain a reduction in the computational effort. This information is introduced in the initial population through special individuals (single criterion solutions). This synergy between genetic and classical methods leads to a very powerful tool for solving multi-objective optimization problems.
2 2.1
Background A general Multi-Objective Optimization Problem (MOOP)
A general multi-objective optimization problem consisting of k competing objectives and (m + p + q) constraints, defined as functions of decision variable set x, can be represented as follows: Minimize/Maximize subject to
where
f (x) = (f1 (x), f2 (x), . . . , fk (x)) ∈ Y; gi (x) ≤ 0, ∀i = 1, 2, . . . , m; hj (x) = 0, ∀j = 1, 2, . . . , p; U xL ∀l = 1, 2, . . . , q; l ≤ xl ≤ xl , x = (x1 , x2 , . . . , xn ) ∈ X.
(1)
where x is the decision vector, f (x) the multi-objective vector, fj (x) the j th objective function, X denotes the decision space and Y the objective space. The constraints gi (x) and hj (x) determine the set of feasible solutions. The remaining set of constraints are called variable bounds, restricting each decision U variable xl to values between a lower xL l and an upper xl bond. 2.2
Concept of Domination
Most multi-objective optimization algorithms use the concept of domination referred as Pareto optimality [13]. A non-dominated set of solutions is formally
GA’s in MOOP
3
defined as follows (Cohon [2]): “a feasible solution to a multi-objective problem is non-dominated if there exists no other feasible solution that will yield an improvement in one objective without causing a degradation in at least one other objective”. The set of solutions of a multi-objective optimization problem consist then of all decision vectors which cannot be improved in any objective without degradation in the other objectives, the Pareto-optima. Mathematically, the concept of Pareto-optima is as follows. Assuming, without loss of generality, a minimization problem and considering two decision vectors a, b ∈ X, we say that a dominates b (also written as a ≺ b) if and only if ∀i ∈ {1, 2, . . . , k} : fi (a) ≤ fi (b) ∧ ∃j ∈ {1, 2, . . . , k} : fi (a) < fi (b)
(2)
All decision vectors which are not dominated by any other decision vector are called non-dominated or Pareto-optimal. The family of all non-dominated solutions is denoted as Pareto-optimal set (Pareto set) or Pareto-optimal front. 2.3
Multi-Objective Evolutionary Algorithms (MOEAs)
A number of multi-objective optimization techniques using evolutionary algorithms have been suggested since the pioneering work by Schaffer [14] [15](1984). Other important developments are described in the works by Fonseca and Fleming [7](1993), Horn et al [11](1994), Srinivas and Deb [16](1995), Knowles et al [12](1999), Zitzler et al [17](1999) and Deb et al [4](2000). Evolutionary optimization algorithms work with a population of solutions instead of a single solution. Since multi-objective optimization problems give rise to a set of Pareto-optimal solutions, evolutionary optimization algorithms are ideal for handling multi-objective optimization problems. In order to obtain effective results with an evolutionary algorithm for multiobjective optimization problems we need to guide the search toward the Paretooptimal set and maintain a diverse population to prevent premature convergence and to achieve a well distributed population in the Pareto front.
3
Formulation of Multi-Objective Optimization Problem (MOOP)
Consider a structural component, occupying the structural domain Ω, subjected to applied body forces b, boundary traction t on Γt and essential boundary conditions on Γu (fig. 1.). To introduce the material based formulation, consider the structural component made of material with a variable volume fraction µ. The k competing objectives for a multi-objective optimization problem are: Z Z α with α = 1, 2, . . . , k (3) tα dΩ + fα (x) = bi uα i ui dΓ i Ω
Γt
4
Aguilar Madeira et al.
·b
Gu
Gt I
Fig. 1. General problem of elasticity.
where fα (x) with α = 1, 2, . . . , k represent the compliance (equivalent to the energy norm of the total displacement) for the load case α (boundary traction tα and body forces b) and where uα is the respective displacement field. The multi-objective optimization problem is: Minimize
f (x) = (f1 (x), f2 (x), . . . , fk (x)) ∈ Y;
(4)
where x = (x1 , x2 , . . . , xn ) ∈ X (decision space) and Y is the objective space, f (x) the multi-objective vector, and fj (x) the j th objective function. Subjected to the volume constraint, Z µ dΩ = vol
(5)
Ω
and where the displacement uα is the solution of the integral equilibrium equation, in virtual displacement form, Z Z Eijkm (µ, q)eij (uα )ekm (w) − bi wi dΩ − tα i wi dΓ = 0 , ∀w admissible. (6) Ω
4
Γt
Methodology
As previously stated, the equality constraint on volume requires that all chromosomes used in the GA lead to the same volume value, hence all of them should have the same number of ones along the evolutionary process. It is thus necessary to properly define these chromosomes and to create crossover and mutation operators that enforce this volume constraint. 4.1
The chromosome storage
The topology model for the structure is a grid that defines the design domain. A value of 1 assigned to an element or cell corresponds to the presence of material and a value 0 to a void in the domain. The fig. 2. illustrates the structural topology represented in the grid model (B) by the chromosome array (C), the binary chromosome string (D) (containing the numbering of the elements (A) and the volume value 0 or 1 for each element), and the chromosome viewed as a loop (E) formed by joining the ends together. A chromosome considered as a loop can represent more building blocks for the crossover operator, since they are able to “wrap around” at the end of the string. These two last representations depend on the elements numbering.
GA’s in MOOP
13 14 15 16 9 10 11 12 5 6 7 8 1 2 3 4 (A)
Element number Binary chromosome
1 0
0 1 1 0 1 1 0 1 (C)
1 0 1 0 (B)
2 0
3 1
4 0
5 1
6 1
7 1
9 0
8 0
10 1
11 0
12 0
13 1
14 0
15 1
5
1 0 0 0
16 1
(D)
0 0 9 0 10 11 1 12 1 13 14 0 15 16 1 1
0 8 71 1 6 5 1 4 0 3 1 2 1 0 0
(E)
Fig. 2. Element numbering (A), structural topology in the grid model (B), binary chromosome array (C), binary chromosome string (D), and chromosome viewed as a loop (E).
4.2
Crossover techniques
The selected progenitors exchange between them their genetic material producing individuals with new characteristics. To preserve volume the progenitors and the descendants must have the same number of ones in their chromosomes a requirement calling for new types of crossover to be described below. Algorithm. To explain these crossover techniques the chromosome’s representation is considered as a loop (fig. 3.). In the following N gc, α, p1 , p2 , n1s1 , e
0 1 9 0 10 11 0 12 1 13 14 0 15 16 1 1
0 8 71 1 6 5 1 4 0 3 1 1 2 0 0
0 1 9 0 10 11 0 12 0 13 14 0 15 16 1 1
0 8 70 1 6 5 1 4 1 3 1 1 2 1 0
Fig. 3. Chromosome representation considered as a loop.
6
Aguilar Madeira et al.
n1s2 are natural numbers representing: N gc - Number of genes in the chromosome (in fig. 3., N gc = 16), α - Number of genes to exchange in the crossover operator, p1 - Number of the gene of the first progenitor where the cut begins, p2 - Number of the gene of the second progenitor, where the cut begins, n1s1 - Number of ones of the first progenitor existing in the interval [p1 , p1 + (α − 1)], n1s2 - Number of ones of the second progenitor existing in the interval [p2 , p2 + (α − 1)]. The following algorithm describes a step-by-step procedure for finding the progenitors gene sequence to use in the crossover operator: Step 1 Fix α, the number of genes to exchange. Step 2 Determine the initial p1 . Step 3 Determine the initial p2 (fig. 4.).
0 1 9 0 10 11 0 12 1 13 14 0 15 16 1 1
0 8 71 1 6 5 1 4 0 3 1 1 2 0 0
0 1 9 0 10 11 0 12 1 13 14 0 15 16 1 1
0 8 71 1 6 5 1 4 0 3 1 1 2 0 0
Fig. 4. Example with: α = 8, p1 = 1 e p2 = 4.
Step 4 The number of ones of the first progenitor existing in the interval [p1 , p1 + (α − 1)] is counted. Let us say that there are n1s1 ones. Step 5 The number of ones of the second progenitor existing in the interval [p2 , p2 + (α − 1)] is counted. Let us say that there are n1s2 ones. Step 6 If {(n1s1 6= n1s2 ) ∧ (p2 < N gc)} increment p2 by one, and go to Step 5. Step 7 If {(n1s1 6= n1s2 ) ∧ (p2 = N gc)} increment p1 by one, and go to Step 4. Step 8 If n1s1 = n1s2 , make the exchange. Types of crossover with this technique. In the Step 2 and Step 3, the determination of p1 and p2 leads to three possible types of crossover: Type 1 Start with p1 = p2 = fixed value, for all the evolution. Type 2 Start with p1 = p2 = random value, this value to be determined whenever the operator is used. Type 3 p1 and p2 are independently determined by random choices.
GA’s in MOOP
7
In the first type, whenever two individuals cross their descendants will always be the same. In the second type, the probability to get the same descendants is smaller, so we have a bigger diversity of descendants than in the previous one. The third type gives a higher diversity in the descendant population compared with the previous ones and is by this reason the one used in section 6. Example. We illustrate the method with the example of fig. 3. Let us consider α = 8, p1 = 1 e p2 = 1. The number of ones in the marked region is for the first progenitor, n1s1 = 4 and, for the second, n1s2 = 5 (fig. 5.). We are in Step 5. As it happens that {(n1s1 6= n1s2 ) ∧ (p2 < N gc)}, then increment p2 by one
0 1 9 0 10 11 0 12 1 13 14 0 15 16 1 1
0 8 71 1 6 5 1 4 0 3 1 1 2 0 0
0 1 9 0 10 11 0 12 0 13 14 0 15 16 1 1
0 8 70 1 6 5 1 4 1 3 1 1 2 1 0
Fig. 5. α = 8, p1 = 1, p2 = 1, n1s1 = 4 e n1s2 = 5.
(fig. 6.) and return to Step 5. In summary,
0 1 9 0 10 11 0 12 1 13 14 0 15 16 1 1
0 8 71 1 6 5 1 4 0 3 1 1 2 0 0
0 1 9 0 10 11 0 12 0 13 14 0 15 16 1 1
0 8 70 1 6 5 1 4 1 3 1 1 2 1 0
Fig. 6. α = 8, p1 = 1, p2 = 2, n1s1 = 4 e n1s2 = 5.
with
p2 = 1 p2 = 2 p2 = 3
=⇒ =⇒ =⇒
n1s2 = 5 6= n1s1 = 4 n1s2 = 5 6= n1s1 = 4 n1s2 = 5 = 6 n1s1 = 4
and and and
p2 < N gc; p2 < N gc; p2 < N gc;
with p2 = 4 we finally get that, n1s1 = n1s2 = 4, then we make the exchange of genetic material of the two progenitors, taking into account the point of the selected cut, as suggested in fig. 7.
8
Aguilar Madeira et al.
Parent 1
0 1 9 0 10 11 0 12 1 13 14 0 15 16 1 1
0 8 71 1 6 5 1 4 0 3 1 1 2 0 0
1
0
1
1
1
0
1
1
1
0
1
1
0
1
0
0
0
1
0
0
0
1
0
0
1
1
1
0
0
0
1
0
0
0
1
0
1
1
1
0
1
1
1
Offspring 1 0 1 9 0 10 11 0 12 0 13 14 0 15 16 1 1
0 8 70 1 6 5 1 4 1 3 1 1 2 1 0
0
0
1
1
0
0
1
1
0
1
0
0
1
1
0
0
1
1
0
0
0
1
0
1
0
1
1
1
0
1
1
0
Parent 2
1 1
1
1 0 1
1
Offspring 2
Fig. 7. Crossover example.
4.3
Mutation
In spite its secondary importance as compared with the crossover operator, the mutation plays an important role in the GA procedure as it is responsible for the maintenance of the population genetic diversity (Holland [10]) and to prevent the algorithm to get locked in a local extrema by making it to explore other regions. The method is as follows: Step 1 Determine randomly the positions of two genes in the chromosome. Step 2 If they have equal values, they will remain in the same position. Return to Step 1. Step 3 If they have different values, they will exchange positions.
5
Computational Model
A flow chart of the general procedure for a optimization problem with two objectives is outlined in fig. 8. 5.1
Populations
Assuming that the initial population has N individuals and MOOP has k competing objectives, the initial population is determined by the following procedure: i) Solve k single-objective problems to determine the k optimal solutions for each objective, such that: necessary conditions for the optimum are derived analytically, approximated numerically through a suitable finite element discretization and solved by a first order method based on the optimization problem Lagrangian. ii) The initial population is formed by these k optimal solutions of the singleobjective problems together with (N − k) different individuals randomly generated. Hence, the initial population has N different individuals. To achieve low memory demand and computational effort reduction, the algorithm does not allow two equal individuals to be present in the population.
GA’s in MOOP Initialize Population
Start
FEM (I1) Ew1
Ew2
9
Gen=0
...
FEM (I2)
FEM (I3)
Ew1 Ew2
Ew1 Ew2
FEM (Ik) Ew1 Ew2
Parallel Processing
All Population
Assign Fitness
Cond?
No
Selection
Yes Crossover Stop Gen=Gen +1 Mutation
New Descendents
Check Population
Fig. 8. Numerical model flow chart.
5.2
Finite Element Method (FEM) and parallel processing
The work of the external loads is calculated for each objective using the finite element method. As the work of the external loads can be calculated independently for each individual parallel processing was used in its evaluation. 5.3
Fitness assignment, new population for mating and selection
The concept of calculating an individual’s fitness on the basis of Pareto dominance was first suggested by Goldberg [8]. First, a ranking strategy based in non-domination properties is used (Deb [3]), that is, the non-dominated solution receives the rank 1 (front 1), then a new non-domination test is made in the population without these solutions and the new non-dominated solution receives the rank 2 (front 2). This procedure is repeated until all solutions are ranked. Second, the rank of an individual determines its fitness value. It is worth remarking that individual fitness is related to the whole population. In order to avoid a possible premature convergence to a population where only non-dominated individuals (of front 1) exist, it is imposed that the new population for matting will be constituted by individuals of several fronts. A geometric function, proposed by Deb [5], the NSGA-II method, is employed for
10
Aguilar Madeira et al.
this purpose. This function is governed by a reduction factor r < 1 which leads to the introduction of a greater diversity in the population. Let the number of fronts to use be given by k, the total number of individuals in the population be N , then the number of individuals ni in each front i is given by ni = N
1 − r i−1 r . 1 − rk
(7)
The mating individuals, in each front, are selected by the Clustering Method [6] and a tournament selection based in ranking position is used. 5.4
Population check and new descendants
After crossover and mutation, it is verified if the descendants already exist in the population and, if they do, they are eliminated to prevent unnecessary calculations. The new descendants are finally obtained.
6
Genetic examples
The method was tested with two cases. The optimization problem for these two cases, is: Minimize f (x) = (f1 (x), f2 (x)) ; (8) where x = (x1 , x2 ), f1 (x) and f2 (x) are the objective functions, representing the compliance (or external work (EW)) for different boundary tractions, subjected to the volume constraint (5). In the subsequent examples, analysis is performed by considering a domain discretization with 768 finite elements. The number of ones used in each chromosome is 236, corresponding to approximately 30% of the total design volume. 768 The number of possible solutions is then given by C236 . 6.1
Example 1
For the present example, domain geometry and boundary conditions are shown in fig. 9. Loading conditions for both of the two objectives are also presented in
?
?
Fig. 9. Design domain for both objectives.
the same figure. Two load cases are considered in the present application, for each one of the objectives:
GA’s in MOOP
11
1. A point load in the x direction with a magnitude of 200 N, for the first objective. 2. A point load in the y direction with a magnitude of 200 N, for the second objective. Initially, the proposed single-objective problems were solved and the resulting solutions, for each one of the objectives are, depicted in fig. 10.:
Fig. 10. Topology optimized for both objectives.
These single-objective optimal solutions were introduced in the initial population. The initial population was composed of 200 individuals (in each generation only 100 individuals were selected for matting). The solutions obtained after 600 generations are presented in fig. 11.
?
?
Fig. 11. Non-dominated solutions.
12
6.2
Aguilar Madeira et al.
Example 2
For the present example, the domain geometry and boundary conditions are shown in fig. 12. Loading conditions for both of the two objectives are also
?
?
Fig. 12. Design domain for both objectives.
presented in the same figure. Two load cases are considered in the present application, for each one of the objectives: 1. A point load in the y direction with a magnitude of -200 N, for the first objective. 2. A point load in the y direction with a magnitude of 200 N, for the second objective. Initially, the proposed single-objective problems were solved and the resulting solutions, for each one of the objectives are, depicted in fig. 13:
Fig. 13. Topology optimized for both objectives.
These single-objective optimal solutions were introduced in the initial population. The initial population was composed of 200 individuals (in each generation only 100 individuals were selected for matting). The solutions obtained after 600 generations are presented in fig. 14.
7
Classical examples
For comparison purposes the problems formulated in examples 1 and 2 have been solved through a weighting objective (classical) method (see e. g. Osyczka [18]). The problem is Minimize α1 · f1 (x) + α2 · f2 (x) (9)
GA’s in MOOP
13
?
?
Fig. 14. Non-dominated solutions.
where x = (x1 , x2 ), f1 (x) and f2 (x) are the objective functions, representing the compliance (or external work (EW)) for different boundary tractions. The problem is subjected to the volume constraint (5), the displacement u α is the solution of the integral equilibrium equation (6) and the limit condition for the design variables are 0 ≤ µ ≤ 1. (10) The necessary conditions for optimum are derived analytically, approximated numerically through a suitable finite element discretization and solved by a fixed point method based on optimization problem Lagrangian. The solutions obtained for examples 1 and 2 are, presented in fig. 15.
A)
B)
Fig. 15. A) Example 1, B) Example 2. With α1 = α2 = 0.5
14
8
Aguilar Madeira et al.
Comparison of results
When analyzing the results shown in fig. 16., it is observed that the genetic algorithm leads to better results, minimizing the objective functions more effectively and thus allowing stiffer structures. These results are consequence of the higher
A1
B1
A2
B2
Fig. 16. Genetic (A1) versus classical (B1) results of example 1. Genetic (A2) versus classical (B2) results of example 2.
capability of the genetic algorithms to explore the space of admissible solutions, while the classic methods can lead to a local minimum.
9
Acknowledgements
This work was supported by Portuguese Foundation for Science and Technology through Project POCTI/EME/43531/99. Partial support from project RTA P129 is also gratefully acknowledged.
References 1. C.D. Chapman, K. Saitou and M. J. Jakiela: Genetic Algorithms as an Approach to Configuration and Topology Design. ASME Journal of Mechanical Design, (1994). 2. J.L. Cohon: Multiobjective programming and planning. Matematics in Science and Engineering, Vol.140, Academic Press,Inc., (1978). 3. K.Deb: Evolutionary algorithms for multi-criterion optimization in engineering design. Proceedings of Evolutionary Algorithms inEngineering and computer Science,(EUROGEN’99), (1999).
GA’s in MOOP
15
4. K.Deb, A. Pratap, S. Agrawal and T. Meyarivan: A fast elitist Non-dominated sorting genetic algorithm for multi-objective: NSGA-II. Proceedings of the Parallel Problem Solving from Nature VI conference,pp 846-858, (2000). 5. K.Deb and T. Goel: Controlled Elitist Non-dominated Sorting Genetic Algorithms for Better Convergence. Evolutionary Multi-Criterion Optimization, EMO 2001, Springer,pp 67-81, (2001). 6. K.Deb: Multi-Objective Optimization using Evolutionary Algorithms. Wiley, (2002). 7. C.M.Fonseca and P.J.Fleming: Genetic algorithms for multi-objective optimization: Formulation, discussion, and generalization. Proceedings of the fifth international conferance on Genetic Algorithms, 416-423, (1993). 8. D.E. Goldberg: Genetic Algorithms in Search, Optimization, and Machine Learning. Reading, Massachusetts: Addison Wesley, (1989). 9. P. Hajela: Genetic Algorithms In Structural Topology Optimization. Topology Design of Structures, NATO Advanced Research Workshop, Sesimbra, Portugal, (1992). 10. Jonh Holland: Adaptation in Natural and Artificial Systems. Ann Arbor: University of Michigan Press, (1975). 11. J.Horn, N. Nafploitis and D.E. Goldberg: A niched Pareto genetic algorithm for multi-objective optimization. Proceedings of the first IEEE conference on evolutionary computation, 82-87. 12. J.Knowles and D.Corne: The Pareto archived evolution strategy: A new baseline algorithm for multi-objective optimization. Proceedings of the 1999 congress on evolutionary computation, Piscataway: New Jersey: IEEE Service Center, 98-105, (1999). 13. V.Pareto: Cours D’Economie Politique. Vol.I and II, F. Rouge, Lausanne, (1896). 14. J.D. Schaffer: Multiple objective optimization with vector evaluated genetic algorithms, Ph.D.Thesis, Vanderbilt University, (1984). 15. J.D. Schaffer: Multiple objective optimization with vector evaluated genetic algorithms and Their Applications, Proceedings of the first international conferance on Genetic Algorithms, pp.93-100, (1985). 16. N. Srinivas and K. Deb: Multi-objective funcion optimization using non-dominated sorting genetic algorithms, Evolutionary Computation(2), pp.221-248, (1995). 17. E. Zitzler and L. Theiele: Multiobjective evolutionary algorithm: a comparative case study and the strength Pareto approach. IEEE Transation on Evolutionary Computation, 3(4), pp.257-271, (1999). 18. A. Osyczka: Computer aided multicriterion optimization system (camos), software package in fortran. International Software Publisher (1992).