s salp swarming behavior when moving and forag- ing in oceans [20]. Each salp in SSA represents a D-dimensional solution vector. Additionally, the food position is represented by the solution vector that obtains the best fitness value discovered in each iteration. The behavior of salps is modeled in SSA by dividing the population into two groups. There are two types of vectors in this algorithm: leaders and followers. The leaders are the salps in front of the chain, while the remainder are known as followers. 10 THz Antenna Design Using SSA for 6G This indicates that the algorithm considers leaders to be the solution vectors with the best fitness values, while followers are the solution vectors with the worst ones. The SSA divides the population into two equal-sized groups, of size NP, where NP is the population size. The updating rule for the leader's position is as follows: = 0.5 where Xk,U, denote the upper and lower bounds in the kth, dimension respec- tively, and the position of the m-th leader salp for < NP/2 in the kth dimension for generation G + 1 is denoted by XG+1,m,k. Additionally, the best vector in the population or the food source position in the kth dimension is denoted by Foodk. Moreover, C1 is an important parameter for SSA and is given by (10.2) where G denotes the current iteration and Gmax is the maximum number of iterations. The importance of the C1 parameter, according to [20], is that it balances exploration with exploitation. Furthermore, rand2k and rand3k are uniformly distributed random numbers in the range [0, 1]. These random numbers aid the algorithm in determining whether the next point in the kth dimension will be positive or negative infinity, as well as the step size. For the remaining NLP vectors, SSA defines a separate position update rule, which is stated as: XG+1,m,k (10.3) The SSA for antenna design is briefly described in the Algorithm 1. Among others, the main SSA advantages include the ability to simple write the source code of the algorithm in any programming language. H