# Genetic Algorithm as a Tool for the Determination of the Self-Stress States of Tensegrity Domes
## 2 Methods of Analysis  
The tensegrity structure is described as an \(n\)-element spatial truss (\(e=1,2,\ldots,n\)) with \(m\) degrees of freedom described by the vector \(\mathbf{q}\big{(}\in\mathbb{R}^{m\times 1}\big{)}\). This system consists of tensioned cables and compressed struts in a self-stress state. The geometry of the tensegrity structure is described by the expansion matrix \(\mathbf{B}\big{(}\in\mathbb{R}^{n\times m}\big{)}\) defined using the finite element formalism [52]:  
\[\mathbf{B}=\begin{bmatrix}\mathbf{B}_{1}\mathbf{C}_{1}\\ \mathbf{B}_{2}\mathbf{C}_{2}\\ \ldots\\ \mathbf{B}_{n}\mathbf{C}_{n}\end{bmatrix};\mathbf{B}_{e}=\begin{bmatrix}- \mathbf{c}_{x}&-\mathbf{c}_{y}&-\mathbf{c}_{z}&\mathbf{c}_{x}&\mathbf{c}_{y}& \mathbf{c}_{z}\end{bmatrix}, \tag{1}\]  
where \(\mathbf{c}_{x}=\frac{x_{j}-x_{i}}{L_{e}},\mathbf{c}_{y}=\frac{y_{j}-y_{j}}{L_{ e}},\mathbf{c}_{z}=\frac{z_{j}-z_{i}}{L_{e}}\), \(L_{e}\) is a length of element, \(\mathbf{B}_{e}\big{(}\in\mathbb{R}^{1\times 6}\big{)}\) is an extension vector of element, \(\mathbf{C}_{e}\big{(}\in\mathbb{R}^{6\times m}\big{)}\) is a Boolean matrix. It is assumed that the number of global degrees of freedom of each element \(q_{i}(i=1,2,\ldots,6)\) corresponds to the number of global nodes of elements \(n_{1},n_{2}\), as shown in Figure 1. Consequently, the non-zero elements of \(\mathbf{C}_{e}\) can be expressed as \(\mathbf{C}_{iq_{i}}=1\).  
The existence of self-balancing forces depends only on the configuration of elements. It is not necessary to know the cross-sections of the elements and their material properties. The simplest method of determining the self-stress state is to check the static equilibrium of each node. This approach is exact but only applies to simple structures. The second exact method is the spectral analysis of the compatibility matrix. This method is effective if there is only one existing self-stress state. If more than one self-stress state occurs, it is necessary to check the suitability of the self-stress states, i.e., whether the forces correctly identify the type of elements (what is a strut and what is a cable). Usually, only the superposition of all self-stress states provides the expected results; however, it requires additional calculations. In such cases, an optimization technique, such as the genetic algorithm, seems to be an effective method of finding appropriate self-balanced forces. Using this technique, the type of elements (tensed or compressed), is described in the initial conditions.  
In the paper, the identification of self-stress state \(\mathbf{S}\big{(}\in\mathbb{R}^{n\times 1}\big{)}\) is carried out through the spectral analysis of the compatibility matrix and the genetic algorithm. In both cases, only the geometry of the structure is required, taking into account support conditions. The obtained self-balanced forces have to ensure the stability of the structure. It means that the stiffness matrix \(\mathbf{K}(\in\mathbb{R}^{m\times m})\):  
\[\mathbf{K}=\mathbf{B}^{\mathbf{T}}\mathbf{B}+\mathbf{K}_{G}(\mathbf{S}), \tag{2}\]  
must be positive definite. The stiffness matrix (2) consists of the linear stiffness matrix with a unitary matrix of elasticity \(\mathbf{B}^{\mathbf{T}}\mathbf{B}\) and the geometric stiffness matrix that depends on the self-stress state \(\mathbf{K}_{G}(\mathbf{S})\):  
\[\mathbf{K}_{G}(\mathbf{S})=\sum_{i=1}^{n}\big{(}\mathbf{C}_{e}\big{)}^{T} \mathbf{K}_{G}^{c}(S_{e})\mathbf{C}_{e};\ \mathbf{K}_{G}^{c}(S_{e})=\frac{S_{e}}{L_{e}} \begin{bmatrix}\mathbf{I}&-\mathbf{I}\\ -\mathbf{I}&\mathbf{I}\end{bmatrix};\ \ \mathbf{I}=\begin{bmatrix}1&0&0\\ 0&1&0\\ 0&0&1\end{bmatrix}, \tag{3}\]  
where \(S_{e}\) is a longitudinal force.