# Data Reduction of Digital Twin Simulation Experiments Using Different Optimisation Methods
## 2 Literature Background
### Optimisation Methods
#### 2.2.8 Self-Organising Migrating Algorithm (SOMA)  
SOMA is based on the self-organising behaviour of groups of individuals in a'social environment'. It can also be classified as an evolutionary algorithm, even though no new generations of individuals are created during the search. Only the positions of the individuals in the search space are changed during a generation, called a'migration loop'. Individuals are generated at random according to what is called the'specimen of the individual' principle. The specimen is in a vector, which comprises an exact definition of all these parameters that together led to the creation of such individuals, including the appropriate constraints of the given parameters. SOMA is not based on the philosophy of evolution (two parents create one new individual--the offspring) but on the behaviour of a social group of individuals [44; 45]. The SOMA optimisation method is derived from differential evolution. There are different modifications of differential evolution, e. g., [43; 46; 47]. The mass parameter denotes how far the currently selected individual stops from the leader individual (if the \(Mass=1\), then the currently selected individual stops at the position of the leader; if the \(Mass=2\), then the currently selected individual stops behind the position of the leader, which equals the distance of the initial position of the currently selected individual and the position of the leader). If the \(Mass<1\), then the currently selected individual stops in front of the leader which leads to degradation of the migration process (the algorithm finds only local extremes). Hence, it is recommended to use \(Mass>1\). It is also recommended to use the following lower and upper boundaries of the parameter \(Mass\in[1.1,\ 3.0]\). The step parameter denotes the resolution of mapping the path of the currently selected individual. It is possible to use a larger value for this parameter to accelerate the searching of the algorithm if the objective function is unimodal (convex function, few local extremes, etc.). If the objective function landscape is not known, it is recommended to use a low value for this parameter. The search space will be scanned in more detail, and this increases the probability of finding the global extreme. It is also important to set the Step parameter in a way that the distance of the currently selected individual, and the leader is not an integer multiple of this parameter (the diversity of the population is reduced because everyone could be pulled to the leader and the process of searching for the optimum could stop at a local extreme). Hence, it is recommended to use \(Step=0.11\) instead of \(Step=0.1\). The setting of, e.g., \(Step=0.11\) also rapidly increases the effectiveness of the SOMA strategy, all to all. PRT parameter denotes the perturbation. The perturbation vector contains the information on whether the movement of the currently selected individual toward the leader should be performed. It is one of the most important parameters of this optimisation method, and it is very sensitive. It is recommended to use \(PRT=0.1\). If the value of this parameter increases, then the convergence of the SOMA algorithm to local extremes also rapidly increases. It is possible to set this parameter to \(PRT\in[0.7,\,1.0]\) if many individuals are generated and if in the dimension of the search space the objective function is low. If \(PRT=1\), then the stochastic part of the behaviour of SOMA is cancelled, and the algorithm behaves according to deterministic rules (local optimisation of the multimodal objective function). The NP parameter denotes how many individuals are generated in a population. If this parameter is set to \(NP=2\), the SOMA algorithm behaves similar to a traditional deterministic method. Generally, if n (where n denotes the dimension of the search space) is a higher number, then this parameter can be set to \(NP=[0.2,\,0.5]\times n\). If the objective function landscape is simple, we can use a lower number of generated individuals.