# Multi-Attribute Collaborative Optimization for Multimodal Transportation Based on User Preferences
## 4 Methodology
### Hybrid Algorithm  
The AFO is a metaheuristic algorithm proposed by [PERSON] [31] in 2021, inspired by the phenomenon of emperor penguins huddling together for warmth in winter. The individual with the highest temperature at the center of the emperor penguin group is considered the optimal individual, while other peripheral individuals move towards the center through several movement strategies. The priority-based chromosome encoding scheme designed in this paper serves as the foundation for ensuring the effective integration of the GA and the AFO. Each chromosome is represented as a randomly permuted sequence of N \(\times\) 3 numbers, which not only guarantees that all chromosomes are feasible solutions but also ensures a seamless transition to the AFO algorithm. This is because the structural design of each chromosome aligns precisely with the individual structure of the penguin entities within the AFO population. When searching for a suitable position, emperor penguins need to perceive changes in temperature, consider the positions of other penguins, move towards the center of the population, and consult their own memory to reduce energy loss. These five modes combine to evolve into three movement strategies for variables. The first movement strategy is a local search strategy based on gradient estimation. An emperor penguin individual's perception of the direction of temperature change corresponds to its judgment of the temperature gradient direction. The temperature gradient is a physical quantity that describes the direction and rate of the fastest temperature change in a specific regional environment. In a continuous temperature field, the direction of the maximum temperature change rate at a certain point is in the normal direction of the isotherms, which requires derivation and solution of the target model. However, the multi-modal transportation route optimization problem is a 0-1 integer programming problem with discrete characteristics, making it impossible to calculate its derivative. Therefore, Movement Strategy 1 in the traditional AFO is replaced by a mutation strategy as shown in Figure 7, where the probabilities of selecting 0 and 1 are 0.4 and 0.6, respectively. \(X_{i}(a)\) not only can inherit some characteristics from \(X_{i}(a-1)\) but also can generate new characteristics after random mutation operations. The similarity between \(X_{i}(a)\) and \(X_{i}(a-1)\) is small, indicating that the mutation operation helps enhance diversity and maintain the genetic nature of the algorithm. The second movement strategy involves, when penguins gather together for warmth, the position adjustment of an individual emperor penguin considering the positions of surrounding penguins. Within the penguin population, the best positions remembered by two randomly selected emperor penguins are \(Xm_{p_{1}}(a)\) and \(Xm_{p_{2}}(a)\), with their corresponding objective function values being \(Ym_{p_{1}}(a)\) and \(Ym_{p_{2}}(a)\), respectively. \(\gamma\) is the influence coefficient of the positions of other emperor penguins on its displacement. \(P_{1}\) is a random  
Figure 6: Schematic diagram of chromosome mutation operation. number matrix uniformly distributed between 0 and 1, with the same dimensions as \(X_{i}(a)\). The formulas for calculating \(X_{i}(a)\) and \(\gamma\) are given by Equations (19) and (20), respectively. \[X_{i}(a)=X_{i}(a-1)+P_{1}\gamma(Xm_{p_{1}}(a-1)-Xm_{p_{2}}(a-1))(-sgn(Ym_{p_{1}}(a -1)-Ym_{p_{2}}(a-1))) \tag{19}\]  
\[\gamma=arc\;tanh(1\;-\frac{a}{\max\;gen}) \tag{20}\]  
The third movement strategy is a combination that comprehensively considers the penguin's own position, the central position of the population, and energy loss. \(Xm_{i}(a)\) represents the position corresponding to the best temperature \(Ym_{i}(a)\) remembered by the emperor penguin at time t. \(P_{2}\) is a random number matrix that follows a standard normal distribution, with dimensions equal to \(X_{i}(a)\).