18
COMPUTER METHODS IN APPLIED MECHANICS AND ENGINEERING 28 (1981) 63430 NORTH-HOLLAND PUBLISHING COMPANY OPTIMIZATION OF GEOMETRY IN TRUSS DESIGN Krister SVANBERG Contract Research Group of Applied Mathematics, Royal Znstitite of Technology, 10044 Stockholm Sweden Received 2 October 1980 Revised manuscript received 28 November 1980 In this paper a method is presented which attempts to minimize the weight of a 3-dimensional truss structure subject to displacement-, stress- and buckling constraints under multiple load conditions. Both the cross section areas of the bars and the geometry (but not the topology) of the structure are permitted to vary during the optimization. The method generates a sequence of subproblems which are solved by a dual method of convex programming. The convergence of the overall algorithm is in evidence on some test problems. 1. Introduction A problem which has been much studied during the last decade is to minimize the weight of a truss structure, subject to constraints on stresses and displacements under multiple load conditions. It has then mostly been assumed that the geometry of the structure is given, i.e. that the only design variables are the cross section areas of the bars. In recent years it has been increasingly accepted that the most efficient way of attacking this problem is to solve a sequence of suitable subproblems, where each subproblem is an approximation, based on gradient information, of the original problem. More precisely, the subproblems are obtained by a linearization of the constraint functions in the reciprocal design variables. See e.g. refs. [l] and [7]. In this paper we consider the more general situation that the geometry of the structure should also be optimized, i.e. that both the cross section areas of the elements and the coordinates of the nodes appear as design variables. As we shall see, the above approach of ‘solving a sequence of subproblems’ may still be used. A method based on that approach will be presented in the forthcoming sections. It may be divided into three major steps, which are repeated iteratively until convergence is achieved: Step 1. At a given iteration point, i.e. for given values of the design variables, evaluate the objective function (i.e. the weight) and the constraint functions and the gradients of these functions. Step 2. Generate an explicit, convex subproblem which is an approximation, based on the calculated gradients, of the original problem. Step 3. Solve the subproblem by a dual method of convex programming. Let the optimal solution of this subproblem be the next iteration point and repeat Step 1. 0045-7825/81/0000-0000/$02.50 @ 1981 North-Holland

Optimization of geometry in truss design

Embed Size (px)

Citation preview

Page 1: Optimization of geometry in truss design

COMPUTER METHODS IN APPLIED MECHANICS AND ENGINEERING 28 (1981) 63430 NORTH-HOLLAND PUBLISHING COMPANY

OPTIMIZATION OF GEOMETRY IN TRUSS DESIGN

Krister SVANBERG Contract Research Group of Applied Mathematics, Royal Znstitite of Technology, 10044 Stockholm

Sweden

Received 2 October 1980 Revised manuscript received 28 November 1980

In this paper a method is presented which attempts to minimize the weight of a 3-dimensional truss structure subject to displacement-, stress- and buckling constraints under multiple load conditions. Both the cross section areas of the bars and the geometry (but not the topology) of the structure are permitted to vary during the optimization.

The method generates a sequence of subproblems which are solved by a dual method of convex programming. The convergence of the overall algorithm is in evidence on some test problems.

1. Introduction

A problem which has been much studied during the last decade is to minimize the weight of a truss structure, subject to constraints on stresses and displacements under multiple load conditions. It has then mostly been assumed that the geometry of the structure is given, i.e. that the only design variables are the cross section areas of the bars. In recent years it has been increasingly accepted that the most efficient way of attacking this problem is to solve a sequence of suitable subproblems, where each subproblem is an approximation, based on gradient information, of the original problem. More precisely, the subproblems are obtained by a linearization of the constraint functions in the reciprocal design variables. See e.g. refs. [l] and [7].

In this paper we consider the more general situation that the geometry of the structure should also be optimized, i.e. that both the cross section areas of the elements and the coordinates of the nodes appear as design variables. As we shall see, the above approach of ‘solving a sequence of subproblems’ may still be used. A method based on that approach will be presented in the forthcoming sections. It may be divided into three major steps, which are repeated iteratively until convergence is achieved:

Step 1. At a given iteration point, i.e. for given values of the design variables, evaluate the objective function (i.e. the weight) and the constraint functions and the gradients of these functions.

Step 2. Generate an explicit, convex subproblem which is an approximation, based on the calculated gradients, of the original problem.

Step 3. Solve the subproblem by a dual method of convex programming. Let the optimal solution of this subproblem be the next iteration point and repeat Step 1.

0045-7825/81/0000-0000/$02.50 @ 1981 North-Holland

Page 2: Optimization of geometry in truss design

64 K. Svanberg, Optimization of geometry in truss design

A somewhat reiated approach, called SLP (Sequence of Linear Programs), is used in ref. [S]. In ref. [4] a different approach, based on the Multiplier method, is proposed.

The outline of this paper is as follows: In section 2 a mathematical formulation of the problem is given. Then the three ‘major steps’ above are described in some detail in sections 3, 4, 5 respectively. Finally, in section 6, numerical results on some test problems are presented.

2. Formulation of the optimization problem

The problem we consider is to minimize the weight of a 3-dimensional pin-jointed truss structure, with a given topology and a given linearly elastic material, subject to: -displacement constraints, -stress constraints, and -element buckling constraints under multiple load conditions.

There are two kinds of variables in the optimization: -cross section areas of the elements, and coordinates of the nodes.

The problem can be formulated as follows:

w min ~(a, c) S-t* di(U, C) 1 dy , i = 1, . * . , f?zd ,

CTi(Uy C) s iT$ax 7 i= l,...,m,,

bi(U, C) s 0 7 i = 1, . . . , mb,

AC)=h,

aTin< ajsay, i=l,,..,KELEM,

cF.Cci.Cy, i= l,..., 3. KNODE ,

where

a = (aI, . . . , &c!&EMY = vet or t of area-variables; KELEM = total number of elements, Uj = cross section area of the jth element.

C= (C 1, *-*, c3. KNODE)f = vector of c~rdinate-variables; KNODE = total number of nodes, each node has 3 coordinates.

~(a, c) = the weight of the structure. di(a, c) = the displacement of a given node in a given direction under a given

load condition, or a linear combination of such displacements. ~~(a, c) = some relevant stress (tensile or compressive) in a given element under

a given load condition. bi(a, c) 5 0 = a buckling constraint in a given element under a given load condition.

A@) = h = linear constraints to ensure that the structure is kept symmetric, or that some nodes have prescribed coordinates etc. (A is given matrix, h is a given vector.)

Page 3: Optimization of geometry in truss design

K. Svanberg, Optimization of geometry in truss design 65

a?, aim”, c,*“, CT” = explicit lower and upper bounds on the variables. (Imposed, perhaps, for manufacturing and geometrical reasons.)

&-, &‘” = largest permitted values of di(a, c) and ai(a, c).

The constraints A(z) = h are in practice not completely general linear equations. They only imply that the variables are divided into disjoint sets, such that all variables within a given set depend linearly on a single variable. We will assume that this linking of the variables can be expressed as:

a = N,(Y)

c = c(O)+ N,y ,

(2.1)

(2.2)

where (Y = ((Y,, . . . , a,)t and y = (rl, . . . , yw)t are the new ‘independent’ variables, c(O) is a constant vector, N, is a matrix with exactly one non-zero element in each row and NC is a matrix with at most one non-zero element in each row and NC is a matrix with at most one non-zero element in each row. (An all-zero row in NC corresponds to a fixed coordinate.)

We can of course use (2.1) and (2.2) to express our problem in the variables LY and y instead of in a and c. This gives us the following reformulation of P, which we will consider from now on:

m min w(a, 7)

set. di(a, y) 5 dy 9 i = 1, . . . , md,

Ui((Yy 7) 5 UYax 9 i = 1, . . . , mrr,

&(a7 Y)‘O 9 i=l,...,mb,

ayimin 5 aj 5 &.y= ) j=l,...,n,,

y~i"syjsy~, j= l,..., It,.

P is a nonlinearly constrained optimization problem. The functions di, ui and bi are not explicitly given. Instead, for given values of the variables

cy and y, we shall assume that the function values are obtained by a FEM-calculation. Since such calculations may be comparatively expensive, it is important to find methods which require as few function evaluations as possible for solving P, i.e. methods which make as much use of each function evaluation as possible.

3. Gradients of the constraint functions

An obliging property of the constraint functions di, gi and bi is that their gradients Vdi, Vu, and Vbi can be evaluated without too much additional effort, once the functions themselves have been evaluated by a FEM-calculation. It will be shown in this section how these gradient calculations can be accomplished.

Page 4: Optimization of geometry in truss design

66 K. Svanberg, Optimization of geometry in truss design

Before turning to the constraint functions we note briefly that the objective function may be written

KELEM

w(4 C) = 2 w,Ilr,II , e=l

where p = density (= a given constant), a, = cross-section area of the eth element, r, = a vector connecting the two nodes of the eth element (3 llrC/l = the length of the eth element). It is then obvious that the gradient of w, with respect to a and c, can easily be analytically expressed.

It should be noted that it is sufficient to show how the gradient with respect to a and c can be calculated. Once this has been done, we can easily obtain the gradient with respect to the ‘independent’ variables (Y and y by the chain rule for derivatives.

3.1. Displacement constraints

We repeat that di(a, c) is the displacement of a given node in a given direction under a given loadcase. To calculate the gradient of di(a, c) we use the virtual load technique (also called the ‘dummy load’ technique) as follows.

The vector u of nodal displacements is obtained from the system

Ku=p, (3.1)

where p is the load vector and K is the stiffness matrix of the structure. The considered displacement di(a, c) may be written:

di(U, C) = q’U = VtKU 7 (3.2)

where 4 is the virtual load vector, chosen to pick out the appropriate components of u, and u is the corresponding vector of virtual nodal displacements. u is obtained from the system

Kv=q. (3.3)

Now, let 5 be an arbitrary variable, i.e. 5 = ai or cj. From (3.1) (3.2) and (3.3) we then get:

(3.4)

For pure displacement constraints q is independent of both aj and cj, and we will assume that also p is independent of aj and cj. (3.4) then reduces to:

(3.5)

where K, is the element stiffness matrix and ue and v, are the vectors of nodal displacements for the eth element. It now only remains to show how aK,/@ can be calculated.

Page 5: Optimization of geometry in truss design

K. Svanberg. Optimization of geometry in truss design 67

The stiffness matrix for a truss element can be written:

K, = _Ki -KEe , e e

(3.6)

where a, = cross section area of the element, r, = a vector connecting the two nodes of the element, E = Young’s modulus = a given constant.

From (3.6) it is obvious that JKJaaj and dKJdcj can both be analytically expressed. For 8I&/aUj, this is very easy:

K? -&KC ifj=e,

- &Zj eO ifjfe.

(0 = the zero-matrix)

For dl(,/acj the formula is a bit more complicated but still straightforward. It should be noted that dK,lac,Z 0 only if cj stands for a coordinate for one of the two nodes

of the eth element. This implies that aKe/acj = 0 for the vast majority of indices j.

3.2. Stress constraints

Let a, be the tensile stress in a given element (the eth element) under a given loadcase p. Introduce the virtual loadcase 4 composed of forces f, and -f, according to the fig. 1. Since f, should have the magnitude l/llrell, then f, = r,/lJr,((2.

Let E be Young’s modulus and let A/r,l[ be the increase in length of the given element, caused by the given loadcase p. We then have:

2 = A Ilr,Il/llreIl = q’u = v’Ku

(U and u are, as before, the nodal displacements associated with p and 4 respectively). a, may thus be considered as a ‘generalized’ displacement. Its only difference from a ‘pure’

displacement is that 4 is no longer a constant vector. We then get (cf. eq. (3.4)):

1 au, --= t= a4 E at -v ,5u+Utyjg

The first term in the right-hand side is handled as in section 3.1. The second term is even

Fig. 1. Virtual load for a stress constraint.

Page 6: Optimization of geometry in truss design

68 K. Svanberg, Optimization of geometry in truss design

easier. If 5 = aj, then &#&J =I: 0. If 5 = cj then @/6$# 0 only if ci is a coordinate for one of the two nodes of the eth element. In that case it is easy analytically to differentiate fg, and thus also q, with respect to 5.

If cr, is the compressive stress in a given element, then the only difference from above is that f, should reverse directions, namely, f, = -re/llrelf.

3.3. Buckling constraints

Let O, be the compressive stress in a given element (the eth element) under a given loadcase. The Euler buckling constraint for the element may be written:

where k is a constant which depends on the cross-section shape. (If the cross-section is circular then k = $r = 0.7854.)

We then get:

The first term on the right hand side is handled as in section 3.2. The second and third terms are very easy to calculate.

4. Method for solving the optimization problem

As we have just seen, the gradients of the objective- and constraint unctions, with respect to cx and y, are comparatively easy to calculate, once the functions themselves have been evaluated by a EM-calculation. We have also mentioned, in section 2, the need for doing ‘as much as possible’ between FBM-calculations.

A natural approach is then to solve a ‘subproblem’ after each EM-calculation. Each subproblem should be an approximation of the original problem, based on already determined gradient information, and it must of course be comparatively easy to solve.

An immediate suggestion would be to linearize both the objective function and the constraint functions and to solve a linear programming problem. This has been accomplished in ref. [S]. However, if the geometry is held fixed, i.e. if y is fixed, then we get a much better approximation to the original problem if we linearize the constraint functions in the reciprocal variables l/aj while the objective function is linearized in the original variables aj+ (The objective function is already linear in CL.) This matter has been discussed in, say, ref. [6]. Although the corresponding subproblem is not a linear programming problem, it can be solved in an efficient way by dual methods of convex programming, as was discovered independently in refs. [2, 81.

It is not straightforward to generalize the above observations to the case when the geometry is not fixed. However, we would now like to use an approach which becomes equivalent to the method in ref. [8] if the geometry is held fixed.

Page 7: Optimization of geometry in truss design

K. Svanberg, Optimization of geometry in truss design 69

Let P be written:

09 min w((~, y)

s.t. g&, y) 4 0 , i= l,..., m =md+m,+mb,

ay 5 q 5 (yy , j=l,..., It,,

Y~~.JI~~Y~, j=l,..., nc.

The approach we use can briefly be described by the flowchart

Choose a starting point ((Y”), y(I)),

k := 1. I 1

Calculate ~(a(“, y”‘), g, vw(cr’k’, y’“‘) and Vg,(ack’, yck’),

] according to section, 3. 1

Approximate w and g, by some ‘simple’ explicit function 6~“’ and g?’

local to (cx(~‘, yck’). Choose values of the move limit para-

metershj”,j= l,...,n, I t I i k:=k+I

Solve the following ‘subproblem’:

no

P”‘) (,,1 min *‘k’(a, y) ,

s.t. gjk)(~, y)50 i = I,. , m , conver-

’ (k) max{jcy, , CX,~‘” } 5 a, 5 min(2cYj”, a~““},

-6

gence

maxly, (k)_ hy’, r,“‘” } 5 y, 5 min{yy’+ hj”‘, y,“““} yes

Let (a(‘+‘), y (k+‘) be the optimal solution of pk’. 0

ST0

The move limit parameters hjk’ are introduced to stabilize the algorithm by ensuring that

Y (‘+l) lies within a prescribed ‘box’ around y . (k) This is also the purpose of the constraints I (k) 2(Yj I aj 5 2Cujk’.

hjk’ should normally be chosen such that hjk) + 0 as k + m. If hp’ is seen to approach zero ‘too quickly’, this may imply that the sequence {Q(~), Y”‘};~ 1 converges towards an unwanted non-optimal solution of P. In particular, it is necessary that ET=, hjk’ = ~0. A simple choice is hjk) = C,l(k + Dj), where Cj and Dj are constants.

Perhaps the most crucial step in the whole approach is that of finding suitable approximating functions GJ’~) and gi . -(k) We will now describe how we have chosen those functions.

Page 8: Optimization of geometry in truss design

70 X. Svanberg, Optimization of geometry in truss design

To get w(k) (crytkf, y@‘):

we linearize w, using its first degree Taylor expansion at the given iteration point

where all

w(ff, y) - i7(k)(a, y) k W(dk’, yCk’) + c ,:, $ (ai - afL)) + ,$z (Yi - YP'> 7 ’ (4.1)

derivatives are evaluated at (cu’~‘, ygk’). Since w is linear in cy, it is easily shown that

na aw w(@‘, y(k))=: 2 -@)

j=* aaj

and so (4.1) may be written:

Let

@hjk) if 2.K > 0 at (a”‘, ytk')

#) 2 ~ aYj - ,

I

--Oh?’ if $Y < 0 at (atk’, yCk’), I

where 0 is a constant >l. We have mostly used 0 = 3. We now introduce new variables y and z by the transformations:

yj = &y’/CYj ($ atj = Crj")/yj,

(4.2)

(4.3)

(4.4)

We then express @ c&j from (4.2), in these new variables: ,

,#d(y, =) =; 2 aw a? + ,

j=r &Yj yj

where 6~~~) is a convex function, indeed, strictly convex if awlayj # 0, which in practice always holds,

We now turn to the constraint functions gj (= di, ai or bi). By contrast with w, which was linearized in the (cy, y)-space, we linearize the gi in the (y, z)-space:

$“‘(y, 2) h gtk’ + c E (yj - yy’) + c 2 (Zj - ,$‘) ) I

where g!“’ P gi(a(“, Y”‘).

Page 9: Optimization of geometry in truss design

K. Svanberg, Optimization of geometry in truss design 71

From (4.3) and (4.4) we see that aj = cyy) corresponds to yj = 1 and yj = yfk’ corresponds to Zj = l.ThUSyj - (k) - 1 and Z(~) = 1. The derivatives agi/ay, and 8gJdZj are obtained by the chain rule: I

The explicit bounds on the variables cq and yj, namely,

max{&y), Cy?} I Crj S min{2crjk’, a?),

max{y :k’ - hy) y?) Z% yj 5 min{yj (k) + hl”‘, yi”““) ,

become, by (4.3) and (4.4), explicit bounds on the variables yj and Zj:

where

(For more detailed expressions see ref. 191.) The subproblem pk’ may thus be written:

(P”)) dw dk’ min C--+C*S<k) -I-- 1 ,

Y.+ i sari Yi ( > j l3yj * %j

S,t. gjk’- F 2 ajk’(yj - 1) - 7 $ sjk’(Zj - 1) s 0 )

I I

Yj mi”Syj5y~, j= l,..., n,,

qi I zj 5 Z,FaX , j= l,...,n,,

where all derivatives are evaluated in (aCk), yCk’). We now comment on our reasons for transformations, (4.3) and (4.4), above. Firstly, our treatment of the cross-section area variables exploits the well-known fact that

the nonlinear character of the constraint functions usually becomes milder if they are expressed in terms of reciprocal area variables. The objective function, however, should of course be linearized in the original variables (and not in the reciprocal ones), since, if the geometry is fixed, this gives us the exact expression for the weight.

Secondly, our way of treating the coordinate variables cannot be motivated in a similar physical manner. It is rather a mathematical trick to get the subproblem in a suitable form. An obvious alternative would be to linearize both the objective function and the constraint functions in the same variables (e.g. the original coordinate variables yj), but our approach gives several advantages:

The subproblem pk) is separable and strictly convex. The strict convexity implies that the

Page 10: Optimization of geometry in truss design

72 K. Svanberg, Optimization of geometry in truss design

optimal solution of pk’ is unique, and that the corresponding dual problem (see next section) is ‘smooth’, i.e. the dual objective function is continuously differentiable. This would not be the case if both the objective and constraint functions were linear in the coordinate variables. Also, if the subproblem should be linear in some variables, the optimal solution of the subproblem would normally be located on the boundary of the ‘box’, and it would then be difficult to decide when, or even if convergence has occurred. As it is now, with a strictly convex objective function, the boxes will in most cases be superfluous in the final iterations, and the convergence may be established by the following lemma:

LEMMA. If the subproblem p”’ has the optimal solution yj = 1 for j = 1, . . . , n, and Zj = 1 for j= l,..., n,, then (czCk), yCk’) is a Kuhn-Tucker point (i.e. most likely a local optimum) of the original problem P.

The straightforward proof may be found in ref. [9]. We have also tried to replace (4.4) by the linear transformation:

(4.5)

while leaving (4.3) unchanged. (y = #“ then corresponds to Zj = 0 and the bounds -hy’~ yj - yy) zs hjk’ are transformed to - 1~ Zj 5 1.)

Then, to make the subproblem strictly convex, we ‘convexify’ the objective function by adding the terms I?2j E~‘.z; to it, where the ET) are positive parameters.

The corresponding subproblem then becomes:

(Pk’)

yysyj5yy, j= l,..., II,,

,yn 5 zj 5 ZI~aX 7 j= l,...,n,.

This subproblem pk’ has the same properties as the previous subproblem pk); it is a first order approximation to the original problem, it is separable and strictly convex and it can be effectively solved by dual methods.

The above lemma also holds for P’“’ if we replace ‘Zj = 1’ by ‘Zj = 0’. It should perhaps be mentioned that, although not very likely, it may be necessary to

‘convexify’ the objective function also in pk’, since if aW/ayj = 0 for some j, say, j = jO, then pk)

is not strictly convex in zM. However, if this should occur we may use the above idea and simply add a term c(Zjo - 1)’ to the objective function in pk’.

We have tried different updating formulas for the parameters ET’ in p,‘“‘. One that we have found satisfactory is

E?)= KldW/@jlh~’ ,

Page 11: Optimization of geometry in truss design

K. Svanberg. Optimization of geometry in truss design 73

where K is a constant, typically K = i. It is easy to see that with this choice pk’ and p,‘“’ become very similar, the constant 0 in PCk) corresponding somewhat to the constant K in PCk).

Some tests indicate that it is slightly more efficient to use p”’ than to use PCk), but the differences are hardly significant.

Another possible approach, finally, would be to linearize only the constraint functions (in, say, the variables y and t), while an exact explicit expression is used for the objective function. However, our experience is that the constraint functions are ‘at least as nonlinear’ as the objective function, in the coordinate variables. Therefore, we believe that the advantages of getting a somewhat better approximation of the original problem, do not compensate for the fact that the subproblems become non-convex and non-separable.

5. Using duality to solve the subproblems

To solve the subproblems pk), or pk’, we use the same dual method as was used in ref. [8]. We repeat briefly the main arguments below.

The subproblems are strictly convex and separable, i.e. of the following form:

Set. C gj(Xj) s 0 3 XjEXj, j=l,*..,n,

where, for each i, Xi is the interval [CC?“, xy], JJ: Xj + R is a strictly convex function and gj: Xj + R” is a convex vector-valued function (gj is in fact linear).

The Lagrangian function corresponding to P is defined by

Ux, A) = C tit%) + A’t3(xj)) 3

where A’= (Al, . . . , A,) is the vector of Lagrange multipliers, or ‘dual variables’. The dual problem corresponding to P is:

(fi) max q(A), AZ0

where

q(A)= %;L(x,h)= 2 Illill tJ(xj)+A'gj(xj)).

j X,EXj

Due to the special form of our subproblems, the minimization of h(Xj) + A’gj(xj) is easily accomplished. In fact we can immediately write down the minimizing Xj in an explicit form. Thus we get an explicit expression for the dual function q(A).

Page 12: Optimization of geometry in truss design

74 K. Svanberg, Optimization of geometry in truss design

It is also very easy to write down an explicit expression for the gradient of rp, and so the dual problem may be solved by an arbitrary gradient method, such as the Conjugate Gradient method or a quasi-Newton method, slightly modified to take care of the simple non-negativity restrictions on the variables Ai. It is also possible to calculate the second derivatives of cp and to use a Newton-type method for solving fi. However, some care must then be taken, since the second derivatives are discontinuous.

The easiest method to implement is the Steepest Ascent method, and our experience is that this (albeit rather crude) method is adequate for solving the dual problem.

Once the dual problem D has been solved, the optimal solution of p is directly available. For an exhaustive description of duality in nonlinear programming, see ref. [3].

6. Test problems

The method described in sections 3-5 has been coded in FORTRAN and tested on some problems.

First of all we checked the validity of the algorithm on some very simple 3-bar problems, where we could analytically derive the optimal solutions.

6.1. 3-Bar pyramid

Consider the following symmetric 3-bar pyramid in fig. 2 (seen from above). The coor- dinates of the nodes are shown in the figure and each element has cross section area = cy. A horizontal force p = (0, I’,-,, 0) is acting at the top-node. The length of each element is v\/1+. The weight of the pyramid is

w(a, y) = cd/l )

where C = 3p and p is the truss density. The compressive stress in element no. 1 is found to be

(+1= 2 V/1+ (l/y”).

(O,Y,O)

elmt no 1

pO

__/____

(O,O,l)

(_ BYi - y 0) 2 ’ 2’

(&_I,) 2’ 2’

Fig. 2. 3-bar pyramid, seen from above.

Page 13: Optimization of geometry in truss design

K. Svanberg, Optimization of geometry in truss design 75

Thus the minimum weight problem subject to a compressive stress constraint (in element no 1) may be written:

s.t. 2 V/1+ (l/y’) 5 u;lax )

with the optimal solution

+=1, & = 2g/2P,,/(3atax) .

If instead we consider the minimum weight constraint (in element no 1 of course) we get:

problem subject to an element buckling

s.t.gyiqig-+pl)

with the optimal solution

+;, ai = (5.\/5P,,/(6kE))1’2 .

We finally consider the minimum weight problem subject to a constraint on the displace- ment of the top node in the y-direction. This may be written:

with the optimal solution

p=1, di = 4v/2P,,/(3EdmaX) .

We have tested our algorithm on this 3-bar pyramid. In all three cases (stress constraint, buckling constraint and displacement constraint) the algorithm arrived at the same solution as

Page 14: Optimization of geometry in truss design

76 K. Svanberg, Optimization of geometry in truss design

we obtained analytically above. Independent of starting point, the optimal solution was found, with an error in the variables less than l%, in about 10 iterations.

We now turn to a larger test problem.

6.2. 39-bar tower

We consider a symmetric 39-bar tower with the topology as shown in fig. 3. Seen E ,ur above, the tower is triangular. There are 39 elements and 15 nodes, i.e. 36 degrees of freedom in the FEM-calculations since the bottom nodes are fixed. The bottom three nodes 1, 2 and 3 have the coordinates: (0, 1, 0), (-id/3, -& 0) and (iq/3, -4, 0), while the three top nodes 13,14 and 15 have the coordinates: (0,0.28,4), (-0.42/v/?;, -0.14,4) and (0.42/d/3, -0.14,4). The other node-coordinates are permitted to vary during the optimization.

The tower should be symmetric, and this implies that there are 6 coordinate-variables 7,: y1 = the z-coordinate of nodes 4, 5 and 6, y2 = the z-coordinate of nodes 7, 8 and 9, y3 = the z-coordinate of nodes 10, 11 and 12, y4 = the ‘radius’ of the tower at the level of nodes 4, 5, 6 (= the y-coordinate of node 4), ys = the ‘radius’ of the tower at the level of nodes 7, 8,9 (= the y-coordinate of node 7) y6 = the ‘radius’ of the tower at the level of nodes 10, 11, 12 (= the y-coordinate of node 10). (The X- and y-coordinates of nodes 4, 5 and 6 are uniquely defined by y4, etc.)

There are 5 area-variables uj: CY] = the cross section area of the elements defined by the node-pairs (1,4), (2,5) and (3,6), a2 = the cross section area of the elements defined by the node-pairs (4,7), (5,8) and (6,9), CY~ = the cross section area of the elements defined by the node-pairs (7, lo), (8, 11) and (9,12), cz4 = the cross section area of the elements defined by the node-pairs (10,13), (11,14) and (12,15), o5 = the cross section area of the rest of the elements. Thus we have II, = 5 and n, = 6 in P.

Fig. 3. Topology for the 39-bar tower.

Page 15: Optimization of geometry in truss design

K. Svanberg, Optimization of geometry in truss design

Fig. 4. Optimal solution, displacement constraint.

62.1. Displacement constraint First we consider the minimum weight problem subject to a single displacement constraint

under a single loadcase. The load consists of three identical horizontal forces, acting on the three top nodes 13, 14 and 15 in the positive y-direction. The displacement constraint requires that the sum of the displacements in the positive y-direction of the three top nodes must not exceed a given quantity. Thus the real load p and the virtual load 4 are parallel in this problem.

As a starting point we used the optimal solution of a fixed geometry problem. Thus the decrease in weight during the optimization is mainly due to the changes in geometry.

The algorithm arrived at the geometry and proportions of the cross section areas shown in fig. 4.

We are convinced that this is at least a local optimum of P, since all the yj and zj were = 1 in the final iterations (see the lemma in section 4). We also believe that it is a global optimum, since we have tried different starting points and always got the same results in the end.

It should be noted that the optimal solution of this problem is independent of the magnitude of the load. Thus, if the load is doubled, then the optimal geometry remains the same while the optimal cross-section areas are doubled, i.e. the ratio between them is unchanged, see ref. [9].

The iteration story for the weight is given in table 1, while the values of the variables after each 10th iteration is given in table 2. As we can see, the required number of iterations is rather large if we want to reach the ‘exact’ optimal solution, within a small tolerance. However, already after 10-15 iterations the main reduction in weight is gained, and in practice one may stop there.

6.2.2. Element buckling constraints We now consider the minimum weight problem subject to buckling constraints in all the

elements, under a single load. The load consists of three identical forces, acting in the three top nodes. Each force is of the

type (0, PO, -2P,,) i.e. the vertical component is twice as big as the horizontal one.

Page 16: Optimization of geometry in truss design

78 K. Svanberg, Optimization of geometty in truss design

Table 1

Weight-history for the displacement

constraint problem

Table 2

Variable-history for the displacement constraint

problem

k ,(a(k! YCk’) k 0 10 20 30 40

0 75.7

1 71.2

2 78.1

3 69.4

4 68.4

5 68.3

6 68.2

7 67.8

8 67.6

9 67.5

10 67.5

a1 7.7 6.7 6.7 6.6 6.6

ff2 6.8 5.2 5.0 5.0 4.9

a3 5.4 3.7 3.5 3.4 3.3

a4 2.0 1.3 1.2 1.2 1.2

ffs 0.8 0.8 0.8 0.8 0.8

Yl 1 .oo 1.15 1.22 1.29 1.34

Y2 2.00 2.31 2.40 2.45 2.49

Yj 3.00 3.30 3.35 3.38 3.40

Y4 0.82 0.89 0.89 0.88 0.87

YS 0.64 0.73 0.73 0.72 0.71

Yh 0.46 0.49 0.49 0.48 0.46

15 67.2

20 67.1

25 67.0

30 66.9

35 66.8

40 66.8

W 75.7 67.5 67.1 66.9 66.8

Again, we used the optimal solution of a fixed geometry problem as a starting point. The algorithm then arrived at the following optimal geometry and proportions of the cross sections areas: This solution is also independent of the magnitude of the load. If the load is doubled then the geometry remains the same while the cross section areas are increased by a factor V/2.

7.4

Fig. 5. Optimal solution, buckling constraints.

Page 17: Optimization of geometry in truss design

K. Suanberg. Optimization of geometry in truss design 79

Table 3 Table 4 Weight-history for the buckling Variable-history for the buckling constraint constraint problem problem

k

0 114.6 1 99.3 2 96.3 3 95.3 4 94.4 5 93.4 6 92.9 7 92.4 8 92.1 9 91.7

10 91.3 11 91.0 12 90.9

lti 90.1

20 90.0

24 90.0

k 0 8 16 24

aI 5.1 6.4 7.2 7.4 a2 4.8 5.4 6.2 6.3

a3 4.5 4.0 3.0 2.7

a4 4.0 2.0 1.7 1.6 ffs 2.4 1.6 1.4 1.4

Yl 1.00 1.27 1.43 1.46 Y2 2.00 2.42 2.73 2.79 Y3 3.00 3.34 3.44 3.46

Y4 0.82 0.80 0.83 0.83

YS 0.64 0.54 0.45 0.43

Y6 0.46 0.36 0.30 0.30

W 114.6 92.1 90.1 90.0

The iteration story for the weight is given in table 3, while the variables after each 8th iteration are given in table 4. Although the number of constraints is much greater in this problem than in the previous (displacement-constrained), the convergence is faster. It is also apparent that the optimal solution is more distinct, being decisively recognized by the iteration, after only a modest number of steps.

7. Membrane elements

Whether the proposed method could be extended to deal with structures composed of membrane elements is an important question. It is tempting to answer that question in the affirmative. In principle, each step in the method can be applied also to membrane elements, provided that the element stiffness matrices can be differentiated with respect to the coordinate variables (and this would normally be the case). So far, however, we have not tested our method on any membrane element structure. This is a possible area for further research.

8. Acknowledgement

I am grateful to Dr. Jesper Oppelstrup for helpful comments and discussions. This work has been carried out under research contract with the Swedish Institute o

Applied Mathematics.

Page 18: Optimization of geometry in truss design

80 K. Svanberg, Optimization of geometry in truss design

References

[l] C. Fleury, A unified approach to structural weight minimization, Comput. Meths. Appl. Mech. Engrg. 20 (1979) 17-38.

[2] C. Fleury, Structural weight optimization by dual methods of convex programming, J. Numer. Meth. Engrg. 14 (1979) 1761-1783.

[3] A.M. Geoffrion, Duality in nonlinear programming: a simplified application-oriented development, SIAM Rev. 13(l) (1971).

[4] K. Imai, Configuration optimization of trusses by the multiplier method, Ph.D. Dissertation, UCLA (1978).

[5] P. Pedersen, Optimal joint position for space trusses, J. Struct. Div. ASCE 99 (1973) 2459-2475. [6] G. Sander and C. Fleury, A mixed method in structural optimization, J. Numer. Meth. Engrg. 13 (1978)

38W4. [7] L.A. Schmit and H. Miura, An advanced structural analysis/synthesis capability -ACCESS 2, J. Numer. Meth.

Engrg. 12 (1978) 353-377. [S] K. Svanberg, An algorithm for optimum structural design using duality, paper presented at the Tenth

Internat. Symp. Math. Prog., Montreal, August 1979; UTM-Report no. 43 (Royal Institute of Technology,

Stockholm, 1979). [9] K. Svanberg, Optimal geometry in truss design, paper presented at the NATO AS1 on Modern Structural

Optimisation, Liege, August 1980; TRITA-MAT-1980-17 (Royal Institute of Technology, Stockholm, 1980).