structural optimization tool using genetic algorithms · pdf filestructural optimization tool...

10

Click here to load reader

Upload: lenga

Post on 06-Feb-2018

217 views

Category:

Documents


2 download

TRANSCRIPT

Page 1: Structural Optimization Tool using Genetic Algorithms · PDF fileStructural Optimization Tool using Genetic Algorithms and Ansys ... An example for a highly ... the basic concepts

CAD-FEM User’s Meeting Schweiz 2000

Structural Optimization Tool using Genetic Algorithms and Ansys

Roman Gatzi ∗ Marion Uebersax ∗∗ Oliver Konig ∗∗

June 2000

Abstract

When it comes to solving nonconvex, discontin-uous, or discrete problems in Structural Opti-mization (e.g. maximizing first eigenfrequencyof a structure), the use of computationally ex-pensive Genetic Algorithms (GA’s) gets inter-esting. GA’s are stochastic optimization algo-rithms based on natural selection and genet-ics. In contrast to traditional gradient-basedmethods, GA’s work on populations of solutionswhich evolve typically over hundreds of genera-tions. A tool is presented, which applies GA’sto solve typical problems in structural optimiza-tion, integrating ANSYS on a UPF (User Pro-grammable Features) level to evaluate the objec-tive function (fitness values of GA individuals).To overcome efficiency limits, the method is im-plemented for parallel evaluations on a worksta-tion cluster. The performance of the softwaretool is shown by two real world applications, thefrequency optimization of a complex machine-tool frame and the weight minimization of a fuelcell plate.

1 Introduction

In the past, the intuition and experience of engi-neers played the key role in designing structures.Recent years have seen the development of nu-merical tools, which provide conceptual designsfor a given design space and specified boundaryconditions. The aim of these tools is to supportthe intuition and the experience of an engineer.

∗Structural Analysis Group, Alusuisse Road & Rail

AG, Buckhauserstr. 11, CH-8048 Zurich∗∗Center of Structure Technologies, Institute of Me-

chanical Systems, CLA E18, ETH Zentrum, CH-8092

Zurich

Most of this tools are based on gradient meth-ods, which work well and very efficient for contin-uous and convex objective functions as e.g. com-pliance minimization. An example for a highlyefficient gradient based method is the topologyoptimization method using homogenization in-troduced by Bendsøe and Kikuchi [2], as it isimplemented in ANSYS.

The motivation to develop the presented Ge-netic Algorithm (GA) based tool in the opti-mization group at the Institute of MechanicalSystems (IMES@ETHZ), comes from the ongo-ing PhD project of Marion Uebersax [8]. Shedevelops methods to optimize the dynamic be-haviour of machine tools. There it is interest-ing to compare the efficient but sensible gradi-ent based methods with a more robust GeneticAlgorithm based approach. Another motivationlays in the diploma thesis of Oliver Konig [6]where a Genetic Algorithm tool was developedto optimize multi-material structures. This GAprocedure used an own FE code to evaluate theobjective functions.

These two projects led to the diploma thesis ofRoman Gatzi [3] with the goal to extend the ex-isting GA procedure to a general purpose Struc-tural Optimization tool as it is presented in thispaper. To be able to easily adapt the tool for allkind of Structural Optimization problems, AN-SYS is integrated to evaluate the objective func-tions.

The paper is organized as follows. In Section 2the basic concepts of Genetic Algorithm’s areoutlined by a simple example and it is shownhow they can be used in Structural Optimiza-tion. Section 3 describes the optimization tooldeveloped, focused on the integration of ANSYSinto the GA procedure. The performance of the

1

Page 2: Structural Optimization Tool using Genetic Algorithms · PDF fileStructural Optimization Tool using Genetic Algorithms and Ansys ... An example for a highly ... the basic concepts

algorithms is shown in Section 4 and 5, wheretwo real world structures are optimized for com-pletely different objectives.

2 Genetic Algorithms

Genetic Algorithms can be described as searchalgorithms based on the mechanics of natural se-lection and natural genetics. They belong to acategory of stochastic search methods, with anadditional strength that randomized search isconducted in those regions of the design spacewhich offer the most significant potential forgain. The primary references on the topic areHolland’s “Adaption in Natural and ArtificialSystems” (referenced in [4]) and the book fromGoldberg [4]. With focus to structural optimiza-tion, the paper [5] by Hajela gives a good intro-duction.

GA’s are not severely limited by discontinuousdesign spaces like techniques derived from math-ematical programming principles. On the otherside there is usually a stiff computational require-ment associated with the use of GA’s. There-fore genetic algorithms represent a good solu-tion approach for design problems where stan-dard mathematical programming techniques areinefficient. The main advantages of GA’s can beformulated as follows:

• GA’s do not require function derivatives.

• GA’s proceed from several points in the de-sign space, this makes it more likely to findglobal optima.

• GA’s work on a coding of the design vari-ables. This allows them to work in designspaces consisting of a mix of continuous, dis-crete, and integer variables.

2.1 The Concept of

Genetic Algorithms

The concept of GA’s is introduced in this sec-tion. The explanations are closely related to thebook of D. Goldberg and therefore referencedonly once [4]. The Genetic Algorithm is stepby step applied to the following example:

Maximize f(x) = x2, x ∈ [0, 31] (1)

Coding. The first step in solving an optimiza-tion problem with genetic algorithms is the cod-ing of the design variables. The design variablesneed to be coded as a finite-length string overa finite alphabet. For the example above, x iscoded as a binary unsigned integer of length 5.It can thus take on numbers between 0 (00000)and 31 (11111).

Initialization. Since genetic algorithms do notstart only from a single point in the design space,but from a population, the initial set has to becreated at random. Table 1 reflects the fitnessfunction (objective function) evaluated for eachchromosome (each string), with a population size4 (strings 1 to 4).

Str. Initial Fitness CountNo. Pop. x f(x) pselect

1 01101 13 169 0.14 12 11000 24 576 0.49 23 01000 8 64 0.05 04 10011 19 361 0.31 1

Total 1170 1.00 4

Table 1: Sample Problem: Initial Population and

Reproduction

Reproduction. Reproduction is the first GAoperator to apply to the population. It is a pro-cess in which individual strings are copied ac-cording to their fitness function values. Thismeans strings with a higher value have a higherprobability of contributing one or more offspringin the next generation. A simple way to imple-ment this operator is the weighted roulette wheelmethod. The offsprings are allocated a value us-ing a roulette wheel with slots sized accordingto the percentage of fitness. For example string1 is given 14.4 % of the roulette wheel. All theoffsprings can be generated with a simple spinof the wheel. Once a string has been selectedfor reproduction, an exact replica of the string ismade. This string is then entered into a matingpool, a tentative new population, to be used bythe next genetic operator. See tables 1 and 2 forthe sample problem.

Crossover. After reproduction, simplecrossover proceeds in two steps. First, members

2

Page 3: Structural Optimization Tool using Genetic Algorithms · PDF fileStructural Optimization Tool using Genetic Algorithms and Ansys ... An example for a highly ... the basic concepts

of the newly reproduced strings in the matingpool are mated at random. Second, each pair ofstrings undergoes crossover as follows: an integerposition k along the string is selected uniformlyat random between 1 and l − 1, where l is thestring length. Two new strings are created byswapping all characters between position k + 1and l inclusively. For example consider string 1and 2 from the mating pool in Table 2 for k = 4:

A1 = 0110|1 =⇒ A1 = 01100

A2 = 1100|0 =⇒ A2 = 11001 (2)

Table 2 shows the new population and its fitnessvalues after crossover.

Pool Mate/Str. after X-over New FitnessNo. Repr. Site Pop. x f(x)

1 0110|1 2/4 01100 12 1442 1100|0 1/4 11001 25 6253 11|000 4/2 11011 27 7294 10|011 3/2 10000 16 256

Table 2: Sample Problem Crossover and New

Fitness Values

Mutation. Mutation is the last operator for asimple genetic algorithm. Mutation is the occa-sional random alteration of the value of a stringposition. For binary strings this simply meanschanging a 1 to 0 or inverse. For the sampleproblem the probability of mutation is assumedto be 0.001. With 20 transferred bit positionsthere should be 20 · 0.001 = 0.02 bits to un-dergo mutation during a given generation. Thisindicates that no bits undergo mutation for thisprobability value.

The mutation operator finishes one cycle of a ge-netic algorithm. For the sample problem the newgeneration can be found in Table 2. The processstarts again by evaluating the fitness values foreach chromosome. Notice how both average andmaximal performance improved in the new pop-ulation.

In the following some additional GA featureswhich are used in the project are briefly intro-duced:

• Elitist Strategy. This strategy ensures thatthe best individuals stay in the population.

• Overlapping Populations. The pool of indi-viduals before reproduction consists of a GAwith overlapping populations in the previ-ous population and a specific amount of newindividuals. The worst individuals of theentire pool are removed in order to returnthe population to its original size. Sinceonly part of the population is generated, thisstrategy saves computation time.

2.2 Parameters in Genetic Search

The initiation of genetic search requires specifi-cation of some key parameters:

• Population Size: popsize. The number ofstrings processed in each generation. Typ-ical size for structural optimization prob-lems: 25− 125.

• Number of Generations: ngen. Usually avalue in the hundreds is needed to make surethat the solution has time to converge.

• Crossover Probability: pcross. Values rang-ing from 0.6 to 0.9 have been used in nu-merical experiments with very satisfactoryresults.

• Mutation Probability: pmut. Probabilityvalues between 0.005 and 0.05 produce ingeneral good results.

• Overlapping Gap: prepl. The overlap pa-rameter specifies how many percent of thepopulation is created new for each genera-tion. A typical value is 0.5.

2.3 Using Genetic Algorithms in

Structural Optimization

To apply Genetic Algorithms to Structural Op-timization problems two main aspects have to beconsidered.

Discretization and Coding of the Design

Variables. Any kind of chromosome used as arepresentation of the design variables in GA’s isdiscrete. Therefore, the design variables have tobe discretized and a mapping from the designdomain to a chromosome has to be defined.

Example: If plate thicknesses of a sheet metalstructure shall be optimized, the design variableswould be a discrete set of thicknesses (probablyrepresented by real constant sets in a FE model).An individual of the GA would then consist of

3

Page 4: Structural Optimization Tool using Genetic Algorithms · PDF fileStructural Optimization Tool using Genetic Algorithms and Ansys ... An example for a highly ... the basic concepts

a string of integer numbers, where each integervalue denotes a certain sheet thickness.

Evaluating the Fitness Function. A GAneeds a function which determines the fitness ofeach individual in a population. In a structuraloptimization this function often includes a Fi-nite Element Analysis. For a typical GA evalu-ation, the fitness has to be computed for thou-sands of individuals. Therefore it is imperativethat the FE evaluations have to be fast and wellintegrated in the GA environment.

For the example of the sheet metal structure, atypical objective would be to maximize stiffnessof the structure subject to a given weight.

3 Optimization Tool

The structural optimization tool developed inthis project is based on the parallel Genetic Al-gorithm library PGAPack by David Levine (Ar-gonne National Laboratory). It provides all theneeded GA functionalities and allows to run theoptimization in a parallel master-slave processon a workstation-cluster. The FEA package AN-SYS is used to evaluate fitness functions of theGA as well as for pre- and postprocessing of theFE models.

Figure 1 shows the detailed optimization pro-cedure, without parallelization.

As the flow chart already indicates, the mainchallenge in making this optimization tool workwas to set up all the connections between GA,ANSYS and parallel evaluations. In the follow-ing important aspects of this work are described.

3.1 Parallel Evaluation of the Fitness

Function

A typical GA run needs thousands of fitness eval-uations, which include in this project always aFE evaluation of the structure to be optimized.This fact makes it very interesting to use the par-allel capabilities of the PGA library. Using theMPI library (Message Passing Inteface) it allowsto distribute the fitness evaluations and there-fore the FE-evaluations on a workstation cluster.The parallelization is implemented in a master-

Figure 1: GA Procedure Using ANSYS for Fit-ness Evaluation

slave hierarchy. The master process controls theGA and distributes the individuals of each gen-eration to different slave machines to evaluatetheir fitness values.

3.2 Fitness Evaluations Using ANSYS

ANSYS was chosen to evaluate the fitness func-tions of the individuals (structures) because ofthe following reasons.

• ANSYS as Subroutine. ANSYS allows it tobe included as a subroutine in a Fortran pro-gram like the PGA main program.

• Flexibility. The use of ANSYS to evaluatefitness functions allows to optimize for everyobjective ANSYS can evaluate. This makesthe optimization tool very powerful.

4

Page 5: Structural Optimization Tool using Genetic Algorithms · PDF fileStructural Optimization Tool using Genetic Algorithms and Ansys ... An example for a highly ... the basic concepts

• Pre- and Postprocessing. ANSYS providescomfortable Pre- and Postprocessors whichallow to easily create the discrete optimiza-tion models and display the optimization re-sults.

ANSYS as Subroutine. In the following themain concepts of using ANSYS in a Fortran pro-gram are described. ANSYS can be called in aFortran program as shown by the following codefragments. In addition it is shown how to readin the optimization model stored in a traditionalANSYS input file.

c Include ANSYS Defs

#include "ansysdef.inc"

#include "impcom.inc"

...

c Initialization of ANSYS

cmd = ’START_OF_USER’

where = mainan(cmd)

...

c Read input file of the

c optimization model and pass it to ANSYS

10 open(4, file=’optmodel.inp’)

read(4, ’(a)’, end=999) cmd

where = mainan(cmd)

go to 10

999 continue

close(4)

Communicating between ANSYS and For-

tran programs. Once ANSYS is initializedthere are mainly two ways to exchange data andcommands between ANSYS and the Fortran-GA program. One can issue standard APDLcommands (Ansys Parametric Design Language)as shown in the next code fragment where thedatabase is saved.

cmd = ’SAVE,BEST_INDIVIDS,db’

where = mainan(cmd)

The other possibility is to directly issue UPFcommands (User Programmable Features) inFortran. This native ANSYS interface allowsfaster access to the ANSYS database. The fol-lowing line shows how pressure can be appliedon element faces.

call eprput(elem,face,8,pres)

Compilation. To finally compile the main op-timization program, the Makefile ANSCUSTOMhas to be modified in order to link all necessary

libraries from PGA and MPI. With the createdexecutable the master process of the GA opti-mization can be started. The master then startsall the slave processes on the specified worksta-tion cluster.

4 Eigenfrequency Optimization

of a Machine Tool

One of our current projects, at the center of tech-nologies of the ETH Zurich, is the developmentof methods to optimize the dynamic behavior ofmachine tools [8]. The Figure 2 shows a machinetool of the company MIKRON Agno which mustbe optimized in order to maximize its fundamen-tal frequency. The response of a structure to dy-namic loading depends on the eigenfrequencies ofthe structure. Excessive vibrations occur whenthe frequency of the dynamic loading is too closeto one of the eigenfrequencies of the structure.The problem is significant for machine tools be-cause the vibrations influence the accuracy andthe surface quality of the product. They alsodecrease the lifetime of the machine and of thecutting tools. They also affect the productivityand the operator comfort. In this section we de-scribe the use of genetic algorithms to maximizethe fundamental frequency of a complex struc-ture.

Figure 2: Machine Tool MIKRON

4.1 Problem Description

Objective and Constraints. The objectivefunction is to maximize the fundamental fre-quency of the structure by varying the thickness

5

Page 6: Structural Optimization Tool using Genetic Algorithms · PDF fileStructural Optimization Tool using Genetic Algorithms and Ansys ... An example for a highly ... the basic concepts

of the shell elements. The optimization is sub-ject to a weight constraint: The new structureshould not be heavier than the original one.

Maximize : f1(tel) (3)

Subjectto : w ≤ wo (4)

Discrete Design Space. The model shown onthe Figure 3 is used as start design for the geneticalgorithm. This topology design was the resultof a previous optimization procedure [9].

Figure 3: Discretization of the structure

The rotationally symmetric structure is dis-cretized with approximately 5200 elements. Theframe of the machine is modeled with 5032 2D-Shell elements. Additionally, 32 mass elementsof 250 kg fixed on the structure with 128 1D-rigid elements are used to represent the process-ing units. We used a rather coarse mesh in orderto reduce the time required per evaluation. Forthe boundary conditions, the machine is fixed atthe bottom where neither translation nor rota-tion of the knots is allowed. The steel machineis 2500 mm high and has a diameter of 3125 mm.

4.2 GA Coding and Fitness Function

Coding of the Design Variables. Due tothe symmetry of the machine, only one 16th ofthe structure is used as design space. This halfsector is divided into 78 zones defining the de-sign variables. Instead of modifying each ele-ment, the GA only changes the thickness of thesezones. The genetic algorithm can choose the op-timal thickness between 50%, 75%, 100%, 125%or 150% of original one. Each design variablecan then take five different values, representingthese ratio. An integer string with 78 alleles is

used to code the set of design variables of theGA. The number of possible solutions can thenbe determined with:

Nsolutions = 578 ≈ 3.3 · 1054 (5)

Fitness Function. The objective function de-fined above has to be translated into a fitnessfunction including the objective and the weightconstraints. For the formulation of the uncon-strained fitness function (6), the fundamentalfrequency is normalized in order to scale themaximum fitness value to 1000. In order to re-spect the weight constraint, the penalty function(7) is defined which is only active when the con-straint is violated. This results in the final fitnessfunction given by the expression (8).

score =f1

scorenorm

(6)

penalty =

{

(w−wo)wo

for w ≥ wo

0 for w < wo

(7)

F = (1− penalty) · score (8)

4.3 Results

The fundamental frequency of the optimized ma-chine is 73 % higher that of the initial structure.Additionally, the total weight decreases to 4.5tons, resulting in a structure 22 % lighter. Thefigure 4 shows the evolution of the fitness of thebest variant as well as the average value of apopulation during the optimization.

Figure 4: Evolution of the fundamental fre-quency

The figure 5 shows the relative element thicknesschanges compared to the initial structure, wherered means a change of +50 % and blue a change

6

Page 7: Structural Optimization Tool using Genetic Algorithms · PDF fileStructural Optimization Tool using Genetic Algorithms and Ansys ... An example for a highly ... the basic concepts

of −50 %. This shows the tendency to concen-trate the mass at the bottom of the structure,and to make the top lighter.

Figure 5: Relative Thickness Modification of theShell

4.4 Discussion

The problem optimized in this work is to be con-sidered as an academic example and was doneto test the new developed optimization method.The results cannot be directly used for the in-dustrial applications since the stiffness is not in-cluded in the fitness function. This will be con-sidered in future work by extending the methodto multi-objective problems.

5 Weight Minimization of a

Fuel Cell End Plate

In this section the performance of the developedoptimization tool is shown by a second applica-tion. The weight of an end plate of a fuel cellstack is minimized.

The work was initiated by Martin Ruge who isinvolved in a project [7] to develop fuel cell stacksto power automotive vehicles. Figure 6 shows thegeneral setup of such a fuel cell stack. A stackconsists of 125 bipolar plates (dark brown) totransport and distribute all the different fluids.2 end plates (brown) and 8 bolts hold the struc-ture together and guarantee a constant pressuredistribution on the bipolar plates.

5.1 Problem Description

Objective and Constraints. The weight ofsuch an end plate is minimized subject to a

Figure 6: Assembly of a Fuel Cell Stack

stress constraint and a manufacturing constraint(plate is produced by milling). This objective isimportant to increase the power density (powerper weight) of a fuel cell stack. In a secondoptimization procedure (described in [1]), thebottom surface of the weight minimized struc-ture can independently be modified to guaranteeconstant pressure distribution on the fuel cells.

Discrete Design Space. A quarter model ofthe design space has been modeled in ANSYS,using SOLID95 elements. This is shown in Fig-ure 7, with grey non-design elements (minimumthickness of the plate), red elements for the boltareas and orange elements for the design spacewhich can be modified. The coarse mesh waschosen to keep computation times in affordablelimits.

Figure 7: Discrete Design Space of a QuarterModel

Boundary Conditions. The end plates areloaded on the bottom surface by the specified

7

Page 8: Structural Optimization Tool using Genetic Algorithms · PDF fileStructural Optimization Tool using Genetic Algorithms and Ansys ... An example for a highly ... the basic concepts

pressure of the fuel cells. The reaction forces,hold through the 8 bolts, are also applied aspressures on the bolt contact faces. This ensuresan equal distribution of the forces on both boltsand does not restrict the rotation of the boltareas. In addition, symmetry conditions areapplied and one single node of the design spaceis fixed to locate the model in space.

Material. Due to cost considerations, the endplates are built in aluminum. This leads with asafety factor of SF = 1.5, to a stress constraintof σmax ≤ 280 N

mm2 .

5.2 GA Coding and Fitness Function

After modeling the FE-model in ANSYS, thenext step is to build the optimization model forthe Genetic Algorithm. This includes the codingof the design variables and the implementationof a fitness function.

Coding of the Design Variables. In order toautomatically introduce the manufacturing con-straint, an integer string is chosen to representthe element height. This means that an integervalue, which can take the values from 0 to 5, rep-resents the thickness of each “element tower” inthe design space.

For the value 0 only the grey element is active,while the value 5 represents all 6 elements overthe height.

There are 325 element towers in the designspace (orange). In addition the two hollow cylin-ders around the bolts are allowed to vary as well,adding two design variables to the set. Thismeans that an integer string of length 327 repre-sents the set of design variables or an individualof the GA. The number of possible solutions canthen be determined with:

Nsolutions = 6327 ≈ 10254 (9)

The largeness of this number explains the effortswhich were put into keeping the mesh coarseand evaluating the GA in parallel!

The Fitness Function. Genetic Algorithmsrequire that for each design one single value canbe determined which describes the fitness of that

particular solution. This fitness value F is de-fined as a weighted combination from the objec-tive weight minimization and the constraint onthe maximal allowable stress:

F = c1 · Vactive + c2 · Vstress2high

where

Vactive = Volume of the actual solution

Vstress2high = Volume of elements with

σmises ≥ 280 N/mm2

c1, c2 = Constants (10)

The value of c1 is chosen such that ifVstress2high = 0, F represents the active vol-ume in percent of the design space volume.The constant c2 was adjusted that way, that arelatively small overstressed volume significantlyincreases the fitness value.

5.3 Results of Numerical Optimiza-

tion

The GA optimization tool is run for 1500 gener-ations with a population size of 100 on 17 DECAlpha workstations. This corresponds with app.75000 ANSYS FE-evaluations and takes about8 h. Figure 8 shows the best individual everfound for the above configuration. The stressconstraint for this design is fully observed. Onecan see that a rib topology has evolved, over-layed by the stochastic variations of the GeneticAlgorithms.

Figure 8: Resulting Design of GA optimization

8

Page 9: Structural Optimization Tool using Genetic Algorithms · PDF fileStructural Optimization Tool using Genetic Algorithms and Ansys ... An example for a highly ... the basic concepts

5.4 Interpretation and Final Design

Following the traditional steps of using struc-tural optimization in product development, the“LEGO” like result has to be transformed backto CAD. The interpretation was done by JorgEvertz from TRIBECRAFT AG and resulted inthe rib-structure shown in Figures 9 and 10.

The new design of the fuel cell end plate resultsin a weight saving of about 30% by a load

increase of 80% compared to the plate whichhas been used up to now.

Figure 9: Possible Interpretation of theOptimization Results by Jorg Evertz(TRIBECRAFT AG)

Figure 10: Design of the Optimized End Plateby Jorg Evertz (TRIBECRAFT AG)

6 Conclusion

This paper has presented a tool developed tooptimize structures for a large range of objec-tives. The optimization method uses genetic al-gorithms which can be described as stochasticsearch algorithms, based on the mechanics ofnatural selection and natural genetics.

ANSYS is integrated in this tool and is used assolver. This provides flexibility since it is so pos-sible to optimize any objective function that AN-SYS can evaluate. However, this work showedthat the integration of ANSYS in other programsresults in a relatively difficult handling.

In order to reduce the processing time, thistool was implemented with MPI (Message Pass-ing Interface), which allows to evaluate the struc-tures in a workstation-cluster.

The performance of the algorithms and of thetool is shown in two real world applicationswhere structures are optimized for completelydifferent objectives. The use of parallel evalu-ation reduces considerably the time needed forstructural optimization based on genetic algo-rithms. However, the size of the design spaceis still a limitating factor for the complexity ofthe structure which could be optimized .

Further investigations should be done to al-low multi-objective optimization of mechanicalstructures and to keep on reducing the time forprocessing the evaluation.

9

Page 10: Structural Optimization Tool using Genetic Algorithms · PDF fileStructural Optimization Tool using Genetic Algorithms and Ansys ... An example for a highly ... the basic concepts

References

[1] Stefan Camenzind and Matthias Gunthart. Entwickeln einer elastisch verformbaren Endplattefur Brennstoffzellenstapel. Term project, Lightweight Structures and Ropeways,ETH Zurich,1999.

[2] Martin P. Bendsøe. Optimization of Structural Topology, Shape and Material. Springer-Verlag,1995.

[3] Roman Gatzi. A method to optimize modal frequencies using genetic algorithms. Diplomathesis, Institute of Mechanical Systems, ETH Zurich / Clemson University, 2000.

[4] David E. Goldberg. Genetic Algorithms in Search, Optimization and Machine Learning.Addison-Wesley Publishing Company, Inc., 1989.

[5] Prabhat Hajela. Stochastic search in structural optimization: Genetic algorithms and simulatedannealing. In Structural Optimization: Status and Promise, volume 150, pages 611–637. Progressin Astronautics and Aeronautics, 1992.

[6] Oliver Konig. Application of genetic algorithms in the design of multimaterial structures man-ufactured in rapid prototyping. Diploma thesis, Institute of Mechanical Systems, ETH Zurich,(exchange program at Clemson University, SC), 1999.

[7] Martin Ruge et al. Fuel cell project. Paul Scherrer Institut and Institute of Mechanical Systemsat the ETH Zurich, http://www.psi.ch/fuelcell.

[8] Marion Uebersax. Methods to optimize the dynamic behaviour of machine tools. OngoingDissertation at the Institute of Mechanical Systems, ETH Zurich.

[9] Marion Uebersax. Heuristic optimization to improve the dynamic behaviour of the new mikronmachine tool pgii. Technical report, Task of the Research Project (CTI No. 3673.1) of theInstitute of Mechanical Systems (ETH Zurich) with the industrial partner Mikron AG, 1998.

10