## 2 Design Theory and Methodology
### Parameter Optimization Process Using SA  
The SA algorithm is inspired by the physical process of annealing in metallurgy [27], where a material is heated and then slowly cooled to reduce defects and achieve a low-energy crystalline state, which is more suitable for this type of single-objective continuous parameter optimization problem compared to algorithms like GA and PSO, since SA requires only one candidate solution evaluation per iteration (via perturbing the current solution), whereas GA and PSO typically evaluate a population of solutions (e.g., tens to hundreds of individuals) in each iteration [28; 29; 30]. For our problem, each evaluation involves a time-consuming CST simulation. SA's single-evaluation-per-iteration strategy significantly reduces computational overhead. The key components of SA are as follows:  
Figure 2: The unit cell structure. (**a**) The original structure. (**b**) The structure after rotational symmetry. (**c**) The side view. (1) Objective Function (Energy Function):  
The goal is to minimize the energy function \(E(\text{x})\), where x represents the design parameters. In our work, the objective function of the SA is expressed as follows:  
\[E(\text{x})=-\sum_{i=0}^{120}\chi(\phi(f_{i})) \tag{5}\]  
\[\chi(\phi)= \begin{cases}1&150<\phi<210\\ 0&else\end{cases}  \tag{6}\]  
where \(\phi\) is the phase difference between the two types of unit cells at the frequency point \(f_{i}\), and in this paper, the frequency range used is 6-18 GHz, with sampling intervals of 0.1 GHz. In addition, when the metal exceeds the design boundary, \(E(x)\) is assigned a value greater than 0, such as 100. (2) Perturbation Mechanism:  
At each iteration, a small random perturbation is applied to the current parameters \(\mathbf{x}\). \[r=U(-1,1)^{10} \tag{7}\]  
\[x_{new}=sign(r)\cdot T\cdot\left[\left(1+\frac{1}{T}\right)^{|r|}-1\right] \cdot hop+x_{current} \tag{8}\]  
(3) Metropolis Criterion:  
The perturbed solution \(x^{\prime}=x+\delta\mathbf{x^{\prime}}\) is accepted with probability:  
\[P(accept)= \begin{cases}1&if\ E(\mathbf{x})\ \leq E(\mathbf{x^{\prime}})\\ &e^{-\frac{E(\mathbf{x})-E(\mathbf{x^{\prime}})}{T}}&otherwise\end{cases}  \tag{9}\]  
This probabilistic acceptance allows the algorithm to explore suboptimal solutions early (high \(T\)) and converge to minima as \(T\to 0\). This mechanism allows the algorithm to explore suboptimal solutions during the high-temperature phase and converge to the minimum value during the low-temperature phase. (4) Cooling Schedule:  
The temperature \(T\) is reduced exponentially:  
\[T_{k}=T_{max}\cdot e^{-\frac{k}{B}} \tag{10}\]  
To achieve accurate simulation results, the frequency-domain solver of CST is used and the Floquet boundaries are set along the x and y directions. The overall design process is shown in Figure 3 and Algorithm 1. ```
1:Input:
2:Objective function \(E(x)\),
3:\(T_{max}=1\), \(T_{min}=1e-6\), \(L=30\), \(max\_stay\_counter=30\),
4:Upper bound \(ub\), Lower bound \(lb\)
5:Output: Optimal solution \(x_{best}\)
6:Initialize:
7:\(T\gets T_{max}\)
8:\(x_{current}\leftarrow\) rand(\(lb\), \(ub\)) {Random initial solution within bounds}
9:\(E_{current}\gets E(x_{current})\)
10:\(xbest\gets x_{current}\)
11:\(Ebest\gets E_{current}\)
12:\(stay\_counter\gets 0\)
13:\(k\gets 1\) {Iteration counter}
14:\(hop\gets ub-lb\)
15:while \(T>T_{min}\) and stay_counter < max_stay_counter do
16:for\(i=1\) to \(L\)do
17:1. Perturbation Mechanism
18:\(r\sim U\left(-1,1\right)^{d}\)
19:\(x_{c}\gets sign(r)\cdot T\cdot\left[\left(1+\frac{1}{T}\right)^{|r|}-1\right]\)
20:\(xnew\gets x_{current}+xc\times hop\)
21:if HasBounds then
22:\(x_{new}\leftarrow\) clamp(\(x_{new}\), \(lb\), \(ub\))
23:endif
24:2. Energy evaluation
25:if\(x_{new}\) violates design boundaries then
26:\(E_{new}\gets 100\)
27:else
28:\(Enew\gets E(xnew)\)
29:endif
30:3.