A combinatorial optimization problem; optimal generalized cycle bases

A combinatorial optimization problem; optimal generalized cycle bases

COMPUTER METHODS IN APPLIED MECHANICS @ NORTH-HOLLAND PUBLISHING COMPANY AND ENGINEERING 20 (1979) 39-51 A COMBINATORIAL OPTIMIZATION PROBLEM; OPTI...

924KB Sizes 17 Downloads 131 Views

COMPUTER METHODS IN APPLIED MECHANICS @ NORTH-HOLLAND PUBLISHING COMPANY

AND ENGINEERING

20 (1979) 39-51

A COMBINATORIAL OPTIMIZATION PROBLEM; OPTIMAL GENERALIZED CYCLE BASES A. KAVEH Department of Civil Engineering, Iran University of Science and Technology, Nawnak, Tehran-16, Iran Received 31 August 1978 Revised 6 December 1978 A combinatorial optimization method is presented for selecting optimal generalized cycle bases corresponding to sparse flexibility matrices. A different technique based on a quasi-expansion process is developed which uses an intersection theorem for selecting independent elements for the bases.

Notations

Sk risk+,,

A k+l B Bo c D FWl G L(ci) M N P 4 L

Sk Y(S) YOW T(S) U n si c s

Ci E A GEA S\S A-G.

ck-1)

matrix relating internal forces to redundant forces matrix relating internal forces to applied loads generalized cycle basis incidence matrix y-cycle adjacency matrix (D = CC) unassembled flexibility matrix flexibility matrix of structure length of y-cycle Ci ; number of members of Ci number of members number of nodes applied force vector redundant force vector internal force vector skeletal structure or its graph model &U&U... US, = uf=lSi function defining statical indeterminacy of structure value number of components of S dimension of generalized cycle basis of S union intersection Si is a subgraph of S Ci is an element of A Ci is not an element of A complement of Si in S elements of A that are not in {C,, . . . ck_,}

S or its numerical

40

A. Kaveh, Optimal generalized cycle bases

1. Introduction

The stress resultant distribution due to a given loading on a skeletal structure been obtained by means of a linear flexibility analysis can be given as

S which has

where B,p is any particular solution satisfying equilibrium with the imposed loads, and Bq is a complementary solution formed from a maximum set of independent self-equilibrating stress distributions (known as a statical basis, Argyris [l], Livesley [2]). The number of independent self-equilibrating stress distributions is equal to the degree of statical indeterminacy of the structure, denoted by y(S). The particular solution may be obtained by considering cuts or releases, to make the structure statically determinate. Gaps then exist at the imaginary cuts which may be removed by applying a set of pairs of equal and opposite forces and moments q = {q, q2. . . qycsj} at the cuts or releases. The compatibility equations will then yield q = -(BfFmB)-WFmBop,

where F,,, defines the flexibility of the individual disconnected members, and the matrix B consists of r(S) independent columns of self-equilibrating stress distributions, the ith column being associated with a unit value of qi. The ith column of the matrix I& denotes the stress resultant in the members of S due to a unit value of pi. The stress resultant r is then obtained from r = (B, - B(BtF,B)-wFmBrJ)p,

where G = W&B is known as the flexibility matrix of the structure. Allied to a statical basis, there is another set associated with the mathematical model S of a structure. This set consists of independent subgraphs of S with prescribed connectivity properties. Each of these subgraphs is such that a self-equilibrating stress distributions can be formed on the corresponding substructure. This set, which will be defined rigorously in subsequent sections, is termed a generalized cycle basis. For an efficient flexibility method G should be (a) sparse (with a large number of zero entries), (b) narrowly banded, (c) well-conditioned. The sparseness and bandedness of G are handled as a totally combinatorial problem, while the conditioning of G is a partially combinatorial problem. For rigid-jointed frames the correspondence of a statical basis and a cycle basis is well known (Henderson and Maunder [3]). Efficient methods for selecting cycle bases corresponding to sparse flexibility matrices are given by the author [4], [5] and Cassell, Henderson and Kaveh [6]. The existance and selection of minimal bases is considered by Stepanets [7], Chua and Chen [S] and Cassell, Henderson and Ramachandran [9].

A. Kaveh, Optimal generalized cycle bases

41

The main purpose of this paper is to present a combinatorial optimization technique for selecting generalized cycle bases with ordered elements ~o~esponding to sparse and banded flexibility matrices. For this purpose some concepts of graph theory are generalized to enable the study of different types of skeletal structures such as rigid-jointed frames and pin-jointed and ball-jointed trusses in a unified manner. The existence of a matroid space is shown, and the application of the greedy algorithm to the selection of optimal generalized cycle bases is presented. A different method based on a quasi-expansion process is also developed which is more efficient, but it leads to less sparse flexibility matrices in some cases. An algorithm for ordering the elements of generalized cycle bases is given which leads to the formation of banded flexibility matrices.

2. Definitions from graph theory For readers who are not familiar with the theory of graphs, the necessary definitions for the study of this article are described briefly in the sequel. A finite graph S consists of a set N(S) of elements called nodes (vertices) and a set M(S) of elements called members (edges) with a relation of incidence which associates with each member a pair of distinct nodes called its end nodes. It is assumed that no two distinct members have the same end nodes, i.e. multiple members are excluded from our discussions. The ~ule~cy (degree) of a node of S is the number of members incident with that node. A graph Si is a subgru@ of S if N(Si) C N(S), IM(Si) C M(S), and each member of Si has the same end nodes as in S. The union of subgraphs S,, . . . S, of S, denoted by Sp = U ye’=1 Si = S1 U S2U. . . US,, is a subgraph of S such that N(P) = U fclN(S)i) and M(SP) = U?=&f(S,). The ~~~e~sec~~~of two subgraphs is similarly defined using the intersection for their node-sets and member-sets. If Si C S, then the complement of Sj in S, denoted by S\Si, is the subgraph containing all the members of S not in Si and their ends nodes, plus any isolated node of S not in Si. A path Pk in S is a finite sequence Pk = (no, ml,. . . mp, Q,) whose terms are alternately nodes ni and members mi of S, where ni-1 and ni are the two end nodes of mi (1 I i 5 p). A simple path in S is a path in which no member or node of S appears more than once. If end nodes PQand n, of a simple path correspond to the end nodes of a member m f, then Pi U m f forms a simple cycle of length L(Ci) = p -t-1. The length of Pi, L(Pi) = p, is taken as the number of its members. The path Pi is called a shortestpath between two nodes no and n, if for any other path Pj between these nodes L(Pi) s L(Pj). In this paper simple cycles will be referred to as cycles. The member m f is called the generator of Ci. A cycle generated on a member mf is called a minimal cycle if Pi is a shortest path other than the generator. A tree T is a connected subgraph of S which contains all the nodes of S and has no cycle. The complement of members of T in S are the chords of this tree. Two nodes ni and nj are said to be connected if there exists a path between these nodes. A graph S is said to be connected if all pairs of nodes are connected. A component of a graph S is a maximal connected subgraph, i.e. it is not a subgraph of any other connected subgraph of S. The above definitions are illustrated by the example in fig. 1. Further definitions may be found in textbooks on graph theory (Berge [ll], Harary [12]).

42

A. Kaveh,

Optimal generalized

cycle bases

S AND P EWEEN no AND np la

S2

1

(b)

&s,us2 Ic)

A2=S$S2 (d)

53. s2us3

A3= S’ilS3

le)

If)

T

S\Sj

lhl

(Lll

Fig. 1. (a) Graph S and a path between no and n,. (b) Three subgraphs of S. (c) Union of S1 and SZ. (d) Intersection of S1 and S2. (e) Union of S* and SS. (f) Intersection of S* and &. (g) Completient of Sl in S. (h) A tree T of S.

3. The mathematical model The mathematical model of a skeletal structure is considered to model is constructed by representing each element of the structure joint by a node in a one-to-one correspondence, except for support many-to-one correspondence. For example, the graph model of a shown in fig. 2b, and the model of a plane truss in fig. 3a is given in

be a finite graph S. This by a member and each joints which may be in a plane frame in fig. 2a is fig. 3b.

(a) (t-4 Fig. 2. (a) A plane frame. (b) Graph model of the frame.

(a)

(b)

Fig. 3. (a) A plane truss. (b) Graph model of the truss.

A. Kaveh,

Optimal generalized

The following two types of terminology

43

cycle bases

may be used for the study of the paper:

Structural terminology

Mathematical terminology

Structural model Substructure Joints Elements

Graph model Subgraph Nodes or vertices Members or edges

A function representing the statical indeterminacy ciated with its graph model S in the following form:

of a skeletal structure

can be asso-.

y(S) = aM + bN + cyO(S),

where M, N and yO(S) are the numbers of members, nodes and components of S, respectively. The coefficients a, b and c are integer parameters which depend on the type of structure (table l), e.g. y(S) = 3M - 3N + 3 represents the statical indeterminacy of a connected (yO(S) = 1) plane frame, and y(S) = M - 2N + 3 represents the statical indeterminacy of a connected plane truss. Substituting the numerical values of M and N for a particular structure yields the degree of statical indeterminacy of that structure, e.g. for the frame of fig. 2a we obtain y(S) = 3 x 21- 3 x 13 + 3 = 3 X 9 = 27, and for the truss structure of fig. 3a we find y(S) = 26-2x 12+3=5. Table 1. Coefficients in function y(S) representing the degree of statical indeterminacy of a skeletal structure Types of structure Plane Space Plane Space

rigid-jointed frame rigid-jointed frame pin-jointed truss ball-jointed truss

a

b

c

+3 +6 +1 +1

-3 -6 -2 -3

+3 +6 +3 +6

The graph models of supported model should be such that the determinacy of the structure. Two are illustrated in figs. 2b and 3b. In this paper the structures are our discussions.

structures may be formed in different ways; however, the corresponding y(S) yields the correct value for the insimple methods for modelling supports of plane structures assumed to be stable, and critical forms are excluded from

4. An intersection theorem

Let S = UT=lSi be the mathematical functions defined:

model

of a skeletal

structure

with the following

44

A. Kaveh,

Optimal generalized

cycle bases

y(S) = aM + bN + cy,,(S), y(Si) = UMi + bNi + Cyo(Si),

i=l,...q,

y(Ai) = y(Si-l fI Si) = afii + bNi + Cyo(Ai),

i = 2, . . . q,

where I@, Ni are the numbers of members and nodes of Ai, respectively. Then

[Y(‘)- cYo(s)I = 2 [Y (Si)-

CYo(S)]

-

lz[y(Ai)

- ~ya(A~)].

A simple proof may be found in Kaveh [lo]. Special cases

1. Let S and each subgraph Si (i = 1,. . . q) be connected.

Y(S)= 2 Y(S)-

Then the above relation becomes

g2Y(A),

where r(Ai) = uM~ + bNi +

C.

2. Let a = c = +l and b = -1. Then y(S)= h(S), and the above relation becomes

[b,(S)- b(S)] = t$[bl(S)- h(S)] -

2 [b,(A)-

MAi)I,

where b,, and b, are the Betti numbers of dimension zero and one, respectively [5]. This relation can also be obtained from the Mayer-Vietoris additivity formula (Alexandroff and Hopf [13]).

5. A progressive

re-forming of the model of a structure

Sk 7Sk”. A sequence of such Let Sk+’ = Sk USktl, and consider the transformation transformations will be termed a quasi-expansion. Having y(S”), y(&+l) and y(Sk r)&+,), the value of y(S”“) can be determined by the use of the intersection theorem. A structural model S may be re-formed in q steps by a quasi-expansion as follows:

s, = S’PS2f

. . . fsq = s.

The subgraph Si (i = 1, . . . q) to be used in each step of quasi-expansion may consist of a member, a simple cycle or any other subgraph Si having prescribed values for y(Si) and/or y(Ai). For example, in a progressive re-forming of S, in each step the subgraph S, may be considered to be such that y(Si) = a and ?(A;) = 0. Then S will be re-formed in n(S) = y(S)/a steps.

A. Kaveh, Optimal generalized cycle bases

45

6. Generalization of some graph theoretical definitions In this section S is considered to be a connected graph. The coefficients b and c of y(S) are assumed to be integer multiples of the coefficient a z=-0. Only those coefficients given in table 1 are of interest in this article. Definition 1. A subgraph Si is called an elementary subgraph if it does not contain a subgraph S: C Si which has y(S:) > 0. A connected subgraph T of S containing all the nodes of S is called a y-tree of S if it can be formed by a quasi-expansion process using the elementary subgraphs S1, Sz, . . . S, of S such that

1. y(S) = 0, 2. y(Si) = r(Ai) 5 0,

i=2,...p.

From special case 1 of the intersection theorem it follows that y(T) = y(Si) = b,($) a y-tree becomes a tree as defined in graph theory. It is easy to show that a structure whose model is a y-tree is statically y(S) describes the statical indeterminacy of the structure. Critical forms this argument. The ensuing stress resultants can uniquely be determined structure by equilibrium only. Examples of y-trees are shown in fig. 4.

y(UyzlSi) = 0. For determinate when are excluded from everywhere in the

(a)

Fig. 4. y-trees for different r(S) functions. (a) y(S) = 3M - 3N + 3. (b) y(S) = M - 2N + 3, (c) r(S) = M - 3N + 6.

Definition 2. A member

of S\T is called a y-chord of T.

Definition 3. A removable subgraph Sj of a graph St is an elementary subgraph for which y(Si\Sj) = y(Si). A y-tree of S containing two chosen nodes which has no removable subgraphs is called a y-path of S between these two nodes. Definition 4. A connected subgraph C, of S with y(Ck) = a which has no removable subgraph is termed a y-cycle of S. The total number of members of Ck, denoted by L(Ck), is called the length of Ck. Definition 5. Let mi be a y-chord of T. Then T U mi contains a y-cycle Ci which is defined as a y-tree cycle of S in T. It can easily be shown that y(T U mi) = 0 + (a + 2b + c) - (2b + c) = a, indicating the existence of a y-cycle in T U mi. Such a cycle can be obtained by omitting all the removable subgraphs of T U mi.

A. Kaveh, Optimal generalized cycle bases

46

Definition 6. A y-cycle

C k+l is called an udmissi~le y-cycle if y(C” UC,+,)= y(C’+‘)= y(C”) i- a, where C” = UfzlCi. An admissible y-cycle Ck+, is independent of Cl, CZ, . . . ck ; however, an independent y-cycle may be inadmissible because of increasing the rank y of C” by more than a. De~~~tiun 7. A maximum set of independent y-cycles of S is termed a generalized cycle basis of S. A maximal set of independent y-tree cycles is also a generalized cycle basis. The dimension of such a basis is given by q(s) = y(S)/a. Definition 8. The generalized

cycle basis incidence

matrix C is a q(S) X M matrix with

entries -1, 0 and + 1, where an entry c, = 1 (or - 1) if member mi is positively (or negatively) oriented in cycle Ci, and C, = 0 otherwise, The y-cycle adjacency matrix is defined by I) = CC. When undirected y-cycles are considered, each entry of matrix C is either 1 or 0. 7. Criterion for generalized cycle basis selection

Matrix B’F,,$ is problems with D =

B containing a statical basis in partitioned form, is pattern equivalent to C. Similarly, pattern equivalent to CIC’ or CC*. This correspondence transforms some structural associated with the characterization of B’&B into combinatorial problems of &ding CC.

Definition.

The spurs@ coeficient x of a matrix is the number of its nonzero entries.

De~nitiun, The matrix intersection c~e~c~ent ai incidence matrix C is the number of row i such that

of row i of the generalized

cycle basis

(a) i E {i + 1, i + 2, . . . q(S)}, (b) C: n C# 4, i.e. there is at least one k such that both column k of y-cycles C and Cj (rows i and i) contain nonzero entries. It is not difficult to show that XCD) =

?ls) + tit tz oi(c)*

This formula shows the relation between the cycle basis incidence matrix C and the number of nonzero entries in D = CC’. The numerical value of n(S) for a given structure is constant, and, in order to minimize x(D), the value of CyJTk’ Go should be minimized. Since taking the objective function r)(S)--l

minimize is not convenient,

5z ai it is replaced by I)(S)

minimize ,z L(Ci), where L(Ci) is the number of members contained in the y-cycle Ci and X7$) L(Ci) = x(C). Although a minimum value of Z?Z? L(Ci) does not necessarily correspond to a minimum value

A. Kaveh, Optimal generalized cycle bases

47

of C:ZT)-’ ai( in the cases such as planar structural models, it is not easy to find such an example. From now on a generalized cycle basis minimizing xYJ?L(Ci) will be referred to as a optimal generalized cycle basis. If CyLT)L(C) does not differ considerably from its minimum value, then the corresponding basis will be called a good generalized cycle basis.

8. Matroids and the greedy algorithm

Matroid theory, which was first introduced by Whitney [14], is concerned with the abstract properties of independence. This subject has received a great deal of attention in different areas of combinatorics. Edmonds [15] pointed out the significance of the application of matroid theory to combinatorial optimization problems. An efficient algorithm called the greedy algorithm has been given for selecting a minimal (or maximal) base of a matroid. An elegant presentation and proof for minimality (maximality) of the selected base is due to Welsh [16]. In the sequel a brief description of a matroid and its minimal base is given. The greedy algorithm which is used for selecting an optimal generalized cycle basis of a graph is then described in the subsequent section. Definition ofa mutroid. Let C1, C,, . . . C, be the columns of a matrix M. Any subset of these columns is either linearly independent or linearly dependent; the subsets thus fall into two classes. These classes are not arbitrary; for instance, the two following theorems must hold: (a) Any subset of an independent set is independent. (b) If N, and N,+, are independent sets of p and p + 1 columns, respectively, then NP together with some column of N,,, forms an independent set of p + 1 columns. A system obeying (a) and (b) is called a mutroid (Whitney [14]). Now let A = {C,, C,, . . . C,} be a set of y-cycles of S, forming columns of a generalized cycle matrix (a generalized cycle basis incidence matrix is a submatrix of this matrix). The set A with set of independent subsets B of A forms a matroid space. A base of this matroid can be defined as the maximal set of independent y-cycles. Now let each element Ci of A have a measure W(Ci) which is nonnegative, and let any subset X of the set A have measure W(X) defined by W(X) = c W(C), where the summation is taken over all Ci EA. A base of minimal measure is referred to as a minimal base of the matroid (A, B). This base in turn is the same as an optimalgeneralized cycle basis of W when the weight of a y-cycle Ci is taken as the number of edges of C, denoted by L(C).

9. The greedy algorithm An optimal generalized

cycle basis for S can now be found by the following algorithm:

Step 1. Choose a y-cycle Cl such that L(C) 5 L(Ci) for all Ci E A.

48

A. Kaveh, Optimal generalized cycle bases

Step 2. Select a y-cycle C2 from A - {C,}which is independent all y-cycles of A -{C,}.

of C, and L(C2) 5 L(C) for

Step 3. Subsequently choose a y-cycle Ck from A -{Cl,C2,...C,-,} which is independent of c,, c,, . . . CT,_, and L(Ck) I L(Ci) for all y-cycles of A -{Cl,C',...C',-,}. After n(S) steps an optimal generalized cycle basis will be obtained. This is a simple result of the intersection theorem. In the following a proof, similar to that of Welsh [16], is given for the optimality of the generalized cycle basis selected by the greedy algorithm. Proof Let p be an optimal generalized cycle basis of S, and let /3 be the basis selected by the greedy algorithm. Let the y-cycles of p be ordered and denoted by c

k

= Ck _ Q-1

(where Ck = Uf=,Ci);

then a y-cycle Cj E p exists such that

Cl,&...

c;_,E/3

np

c,ep.

By the well-known exchange theorem for matroids there exists Ck E p such that

p*={p+c;-ck} forms a basis. Moreover Ck$? c’-’ must hold or else p* would contain only q(S) - 1 distinct y-cycles. By definition L@)I L@*), which implies L(Cj)l L(Ck). But the inequality cannot hold since Ck would then have been selected in place of Cj by the algorithm at that stage, and therefore L@*) = L(B). Hence /3* is also an optimal basis which has more y-cycles in common with p than p. Continuing to reduce in this way it becomes evident that L(p) = L(p) and thus forms an optimal generalized cycle basis for S.

10. A practical method for basis selection In practice, two main difficulties are encountered in an efficient use of the greedy algorithm. 1. It is laborious to form the set of all y-cycles of S and in each step to select the shortest y-cycle out of the y-cycles not previously chosen. 2. It is time consuming to check for the independence of the y-cycle that is selected in each step, particularly in a computer. In order to overcome the above difficulties, a method is presented in the sequel. The bases selected by this method correspond to sparse flexibility matrices although it does not always lead to the formation of optimal generalized cycle bases.

A method based on a quasi-expansion process Step 1. Select a starting node A of maximal valency. Form a minimal y-cycle C1 on any

A. Kaveh, Optimal generalized cycle bases

49

member mi incident with A. Such a y-cycle can be formed by adding to mi a y-path with the least number of members in between the two end nodes of mi (generator). Construct the second admissible minimal y-cycle C2 on the unused member (not contained in C,) incident with A. Continue this process, forming other admissible minimal y-cycles on the members not previously used and incident with A. Step 2. Choose a new starting node A’ which is incident with the maximum number of unused members (active valency of A’). Select minimal admissible y-cycles on the unused members incident with A’. In this formation some of the members incident with A’ may be left unused because of the inadmissibility of the corresponding y-cycles. Step 3. Repeat the process of step 2 for all nodes in the ascending order of their active valencies in turn. If all the members have not been used, select an admissible y-cycle having the least possible length on an unused member. Repeat this process, forming y-cycles on members not already used, until n(S) y-cycles are selected. From the intersection theorem it follows that the process is finite and will terminate only when 7(S) y-cycles, forming a good generalized cycle basis, have been selected. The above process may be described as a progressive formation of S, where an admissible minimal y-cycle is selected in each step.

11. Ordering the elements of a generalized cycle basis In order to reduce the bandwidth of D the order of the y-cycles in C should be considered. In the following some definitions are given and a simple ordering algorithm is described. Definitions. The distance between two nodes of a graph is defined as the number of members in a shortest path between these nodes. The y-cycle distance of Ci is taken as the arithmetic mean of the distance of its nodes from the root. Ordeting algorithm. Construct a shortest route tree (SRT) rooted from an appropriate starting node, labelling the nodes according to their distance from the root (Pollack and Weibenson [17]). Order the y-cycles according to their distance from the root which gives a favourable ordering for subsequent numbering.

12. Examples In the following examples the structures are assumed to be supported in a statically determinate fashion. For other support conditions, additional self-equilibrating stress distributions can easily be formed for each special case. Example 1. S is the model of a pin-jointed

plane truss having y(S) = 23 (fig. 5a). Using the proposed method, two y-cycles on y-chords 1 and 2 are first selected (fig. 5b). Since there are repeated patterns in the model, the formation of the rest of the y-cycles has been

50

A. Kaveh, Optimal generalized cycle bases

(a)

Fig. 5. (a) Graph model S of a plane pin-jointed

(b)

truss. (b) Typical y-cycles of S.

simplified by avoiding the search for their corresponding y-paths. A good basis consisting of 23 minimal y-cycles is obtained. Applying the greedy algorithm, the same basis is obtained. When S has any bilateral symmetry, this property should be used in order to reduce the size of the problem. In such a case the selection of a starting node will naturally be influenced, e.g. B may be used in place of A as a starting node. Example 2. In this example S is the model of a ball-jointed space truss (a unit of a space grid) having y(S) = 5 (fig. 6). A y-tree T of S, where y(S) = M - 3N + 6, is selected as shown by full lines. The y-chords {mi: i = 1 . . .5} of T are shown by broken lines. In this case T is a y-path, and the y-cycles Ci = T Urni (i = 1, . . .5) form a good basis for S.

Fig. 6. Graph model of a space ball-jointed

truss -y-tree and its chords.

Example 3. In this example S is the model of a rigid-jointed space frame in the form of the l-skeleton of a triangulated torus which has y(S) = 114 (fig. 7). For this type of structure a generalized cycle basis becomes a cycle basis since y(S) = 6M - 6N + 6 = 6 [bl(S)]. Using the proposed method or the greedy algorithm, 24 cycles of length 3 and 1 cycle of length 4 are generated.

51

A. Kaveh, Optimal generalized cycle bases

Fig. 7. Graph model of a rigid-jointed

space frame.

Acknowledgment The

support

of the Iranian

Ministry of Science and Higher Education

is gratefully

ac-

knowledged. References [l] J.H. Argyris and S. Kelsey, Energy theorems and structural analysis (Butterworth, 1960). [2] R.K. Livesley, Matrix methods of structural analysis (Pergamon Press, 1975). [3] J.C. de C. Henderson and E.A.W. Maunder, A problem in applied topology, J. Inst. Math. Appl. 5 (1969) 254-269. [4] A. Kaveh, Application of topology and matroid theory to the analysis of structures, Ph.D. Thesis, Imperial College, London, 1974. [5] A. Kaveh, Improved cycle bases for the flexibility analysis of structures, Comp. Meths. Appl. Mech. Eng. 9 (1976) 267-272. [6] A.C. Cassell, J.C. de C. Henderson and A. Kaveh, Cycle bases for the flexibility analysis of structures, Int. J. Numer. Meths. Eng. 8 (1974) 521-528. [7] G.F. Stepanets, Basis systems of vector cycles with extremal properties in graphs, Uspehi Mat. Nauk. 19 (1964) 171-175. [8] L.O. Chua and Li-kuan Chen, On optimally sparse cycle and coboundary basis for a linear graph, IEEE Trans. Circuit Theory 20 (1973) 495-503. [9] A.C. Cassell, J.C. de C. Henderson and K. Ramachandran, Cycle bases of minimal measure for the structural analysis of skeletal structures by the flexibility method, Proc. Roy. Sot. London A350 (1976) 61-70. [lo] A. Kaveh, Static and kinematic indeterminacy of skeletal structures, Iranian J. Sci. Tech. 7 (1978) 3745. [ll] C. Berge, Graphs and hypergraphs (North-Holland, 1976). [12] F. Harary, Graph theory (Addison and Wesley, 1969). [13] P. Alexandroff and H. Hopf, Topologie 1 (Springer, Berlin, 1935) 287-299. [14] H. Whitney, On the abstract properties of linear dependence, Amer. J. Math. 57 (1935) 509-533. [15] J. Edmonds, Matroids and greedy algorithm, Math. Prog., 1 (1971) 127-136. [16] D.J.A. Welsh, Kruskal’s theorem for matroids, Proc. Camb. Phil. Sot. 64 (1968) 3-4. [17] M. Pollack and W. Wiebenson, Solution of the shortest route problem: a review, Op. Res. 6 (1960) 220-224.