## 2 The Model
### Description of the ME-ANTS Algorithm  
The ME-ANTS algorithm, whose pseudocode is given in Algorithm 1, takes as input a weighted graph \(G(V,E,w)\), which represents the environment, with set of vertices \(V\) of size \(|V|=m\), set of edges \(E\), and edge weights \(w\). It also takes as inputs several other parameters, namely, \(\alpha\) and \(\beta\), which determine the importance of pheromone intensity and edge desirability; \(K\), which is the amount of pheromone released by each ant; \(\rho\) is the evaporation rate; \(T_{d}\) and \(T_{max}\) represent the exit interval between groups and maximum simulation time; \(A=\{a_{1},a_{2},\ldots,a_{n}\}\) is the set of ants, partitioned into \(g\) groups \(S_{1},\ldots,S_{g}\) of equal cardinality, with \(n\) being the total number of ants, \(g\) the number of groups, and \(\Delta\) the collection of the \(g\) groups. The algorithm outputs two key values: num_exited, which denotes the number of ants successfully reaching the exit node, and path_cost, which is the average cost of the traversed paths. Two matrices are used: P for pheromone levels and \(I\) as a Boolean matrix for information release. \(P\) is initialized with all entry values equal to 1, while \(I\) is initialized with all entry values equal to 0. \(I\) plays a crucial role in calculating edge \((v_{i},v_{j})\) desirability (\(\eta_{ij}\)) as ants traverse the edges and release information. Next, the following variables are initialized to manage performance metrics: num_exited counts successful exits, path_costs collects path costs, and each ant \(a_{k}\) has a list (\(L_{w_{k}}\)) associated with it, tracking its traversed edges. The while loop governs the progression of the simulation, which continues until the current simulation time \(t\) until it reaches the maximum \(T_{max}\). Within this loop, an if statement checks whether the current time \(t\) is a multiple of the total number of vertices \(|V|\). If true, a process is launched involving a designated group \(S_{h}\) in \(\Delta\) and the global updating rule (as defined by Equation (2)). In the network, each ant \(a_{k}\) in the selected group \(S_{h}\) moves through the network, allowing for the simultaneous exploration of different nodes or edges. The Ant-Movement-Async function runs in parallel for each ant in the network and defines how each ant explores the network. As the ant traverses the graph, starting from initial node \(v_{1}\), it dynamically selects adjacent nodes using the transition probability equation (Equation (1)), considering both the pheromone matrix P and the Boolean matrix \(I\). Once an ant moves between nodes, the visited edge is recorded in the path variable \(\pi\). Concurrently, pheromone levels on traversed edges are updated, and information is released. A proportional wait time on each node, determined by the edge weight \(w_{ij}\), is incorporated to simulate realistic movement dynamics. If an ant successfully reaches the exit node \(v_{m}\), the count of exited ants (num_exited) is increased, and the cost of the traversed path \(\pi\) is calculated using the defined path cost function (Equation (8)). The return statement concludes the algorithm, and it provides the count of successful exits (num_exited) and the mean of path costs (mean(path_costs)).