## 2 Related Works  
In the IoD fog computing literature, many solutions have been proposed. However, they are limited in demonstrating the effectiveness of fog computing for task offloading in the IoD compared with IoD cloud computing and IoD edge computing approaches that use a metaheuristic method, such as particle swarm optimization, genetic algorithms (GAs), or others. Among the existing works on this topic, [PERSON] et al. proposed a PSO (particle swarm optimization)-based task-offloading solution for fog computing in IoT applications, named PSO BS-Fog [13]. This solution allows a set of UAVs to offload their tasks to fog base stations (FBSs) for processing and storage. The simulation results demonstrated that the proposed solution achieved a lower offloading delay compared to PSO UAV-Fog and PSO UAV-Edge. However, the offloading delay of PSO BS-Fog can be further improved by integrating UAV-Fog, which can process and store offloaded tasks of appropriate size. Furthermore, utilizing another metaheuristic algorithm, such as a genetic algorithm (GA), could significantly optimize the task-offloading delay compared to PSO. In [14], [PERSON] proposed a collaborative strategy for task offloading in IoD fog computing. Moreover, the author also proposed using the mixed-integer linear programming (MILP) model to formulate the task-offloading problem to optimize both UAV energy consumption and offloading latency. The simulation results confirmed that the proposed model provides lower energy consumption and lower offloading delay compared to IoD cloud computing. In [15], [PERSON] et al. presented an architecture for task offloading in the IoD based on three layers: a fog layer, a UAV client layer, and a UAV edge layer. Moreover, the authors proposed optimizing both task offloading and resource allocation in this architecture using a game-theoretic algorithm and a convex optimization-based algorithm, respectively. The experimental results showed that the proposed approach achieved better performance under heavy system workloads. [PERSON] proposed a framework for disaster management based on IoD fog computing [16]. Moreover, the author developed three algorithms to optimize UAV energy consumption. The first algorithm optimizes the UAV's position, the second algorithm optimizes task offloading to fog UAVs, and the third algorithm is based on wirelesspower transfer technology and supplies the UAV's battery when its energy drops below a predefined threshold. The numerical results confirmed that the proposed framework achieves better performance in terms of energy consumption, delay, and throughput. In [17], [PERSON] et al. proposed a task-offloading model based on dynamic programming for IoD fog computing. For task-offloading optimization, the proposed model considers drone mobility, fog node processing capacity, IoT communication constraints, and latency. Simulation experiments showed that the proposed model significantly improves task offloading in terms of latency, availability, and cost of resources. [PERSON] and [PERSON] [18] proposed optimizing task offloading and power consumption in IoD fog computing using machine learning (ML). For each drone, the proposed approach determines the number of offloaded images and the wireless transmission power required. In [19], [PERSON] et al. investigated the performance of an IoD fog computing system consisting of many drones that offloaded their tasks to a fog node. Moreover, based on Stochastic Reward Nets (SRNs), the authors analyzed the effect of the number of offloaded tasks on the performance bottleneck of the drone computation system. Simulation experiments demonstrated that task-offloading performance deteriorated when the number of competing drones increased. In [20], [PERSON] et al. proposed a UAV-based multi-hop collaborative model for task offloading in fog computing. In the model, a set of fog UAVs is deployed to provide computing services to ground users.