A Survey on Cloudlet Computation Optimization in the Mobile Edge Computing Environment

––Mobile Edge Computing (MEC) uses to perform computation operations at the edge of a network for mobile devices. This allows the deployment of more powerful and efficient computing resources in a cost-effective, lightweight and scalable manner. MEC can optimize mobile device performance, enhance security and privacy, improve battery life, provide increased bandwidth, and reduce latency across wireless networks. Cloudlets are a new concept of computations that can perform at the edge of the networks. The service provider can deploy cloudlets services in a MEC environment with the ability for mobile devices to offload their tasks to cloudlets. In the MEC environment, the offloading problem depends on cloudlets' availability of computation resources. Also, the deployment method of cloudlets in the environment will affect the task offloading. This paper investigates the approach to the cloudlet deployment and task offloading problem in the MEC environment. First demonstrate that the problem has to be considered a Multi-objective optimization problem since it needs more than one objective to be optimized. Then prove that the problem is NP-completeness, give an overview of existing solutions using the meta-heuristic algorithms, and suggest future solutions for this problem. Finally, explain the advantages of using Variable-length of solution space with meta-heuristic algorithms for this problem.


I. INTRODUCTION
Mobile Edge Computing (MEC) is a technology that enables computation and storage capabilities at the edge of a mobile network, closer to the end-users [1]. It extends cloud computing to the network's edge, allowing for delivering lowlatency and high-bandwidth services to mobile users [2]. The end-users typically execute the applications on their resourceconstrained mobile devices for current internet-enabled applications requiring fast processing and less response time [3]. MEC is designed to address the challenges of providing low-latency and high-bandwidth services to mobile users, such as those required for augmented reality, virtual reality, and Internet of Things (IoT) applications [4]. Furthermore, the mobile devices at the edge of the network offload their computation tasks to the ( edge-server, edge-cloud, sometimes referred to as Cloudlet) instead of the remote cloud, which will decrease the response time for offloaded tasks (low latency) and reduce overcrowding in the back-haul networks [5].
Cloudlet is a new computing paradigm introduced to the Mobile Edge Computing (MEC) service framework. It allows computing resources to be closer to mobile devices. The cloudlets location is essential to the delay tolerance of mobile devices, primarily in a large-scale Wireless Metropolitan Area Network (WMAN) that consists of hundred Base Stations (BSs) [6], where mobile devices can access the cloudlets. The capacity of cloudlet is much smaller than cloud computing as edge computing is supplied with one or a few servers due to the limitation of space and cooling requirements [7]. MEC has been adopted to allow mobile devices to offload their tasks to the cloudlets because of the limited processing, small storage and low computational capabilities of mobile devices [8]. The high quality of service (QoS) requirements for the highly interactive applications, which include low latency and high throughput, are computationally demanding [9]. Mobile computing has recently experienced a paradigm change from mobile central cloud computing to MEC, fueled by hopes for 5G and 6G IoT connectivity [10]. In order to support latencyintensive computing applications and critical latency for mobile devices with limited resources, MEC's main purpose is to push mobile computing, network control and storage to the network's edges [11]. In the MEC environment, cloudlets are usually deployed collocated with cellular base stations so that the mobile devices can offload tasks to the nearby cloudlets.
Offloading is a technique used in the MEC environment to increase the effectiveness of mobile device applications by moving resource-intensive activities to nearby cloudlets [12]. Offloading in MEC mostly refers to running resourceintensive applications on behalf of local mobile devices to minimize workloads, overhead, and processing costs compared to local computing. To perform compute offloading, mobile devices and cloudlets must operate offloading frameworks [13]. Many technical articles view the topic as incredibly important to provide new ways of reaching the objectives in the offloading criteria. Most of the strategies presented in these technical publications were based on mathematics, model-based, machine learning, game theory, A meta-heuristic optimization has shown its effectiveness in tackling several NP-hard problems. Computer science, networking, communication, robotics, and manufacturing, are just a few areas where this mechanism has been used in the real world. The literature on meta-heuristic optimization has yet to adequately address the multi-objective optimization component, despite its prevalence in many problems. The meta-heuristic algorithms have a substantial impact on solving cloudlet deployment and task offloading optimization issues. Consequently, this paper provides a survey of published articles about cloudlet deployment and task offloading to summarize the problems that need solving for future research. First discuss the challenges addressed partially or entirely for the problem and suggest several promising directions for future research to minimize time, reduce cost, and save energy. Second, demonstrate that the problem is multiobjective optimization since it deals with more than one objective to be optimized and proves it is an NP-completeness. Third, explain the diverse current, well-known traditional heuristic and meta-heuristic algorithms for cloudlet deployment and task offloading problems in the MEC environment, emphasizing meta-heuristics. Fourth present the capabilities of using the variable-length searching approach within meta-heuristic optimization algorithms for solving this type of problem, especially with the constant change in the required number of cloudlets to deploy in MEC based on computing requirements. This work can be helpful for academia and companies regarding service provisioning in the mobile edge computing environment.
The rest of this paper is organized as follows: Section II presents a background and an overview of the relevant literature, which helps to understand the rest of the article. Sections III introduce the optimization technique. Section IV demonstrates the multi-objective optimization and the metaheuristics algorithms. Section V Provides the Variable-length approach for solution space and its benefits for future research, and finally, the conclusion are provided in Section VI.

II. BACKGROUND
This section presents an overview of the relevant works, which assists in understanding the rest of the article. Cloudlet deployment and task-offloading (for simple CDTO) have been fertile research ground for several years. Thus, many papers on solutions related to this area are in the literature.

A. Mobile Edge Computing
One of the essential fields on the technology scene today is Cloud Computing, which is one of the elements preparing for the future. Thanks to advancements in wireless communication and mobile computing, in the last decade, new smartphone device services have prospered in diverse fields such as transportation, mobile payment, and social media [20]. The spread of mobile devices and their constant presence in daily life has generated massive traffic between end users and remote clouds [21]. To plan for the increasing data traffic in the following years and the need for low-latency computation resources near the users, network service providers are gradually turning to "Mobile Edge Computing" to bring cloud computing capabilities to the edge of the network [22]. Users at the edge of the network offload their computation tasks to the ( edge-server, edge-cloud, sometimes referred to as Cloudlet) instead of remote clouds, which will decrease the response time for offloaded tasks (low latency) and reduce overcrowding in the back-haul network [20].
Due to the limitations of the cloud environment (i.e., longdistance from mobile devices and limited geographical distribution), mobile devices with hungry applications for computation resources need to offload tasks to the nearby clouds closer to the end-devices through newer computing paradigms, such as cloudlets in Mobile Edge Computing environment (MECE) [23]. Cloudlets are a distributed decentralized infrastructure with nearby mobile devices that can leverage the computing and storage resources of the cloudlets. Table I presents the comparative summary of Cloud and Cloudlet.

B. Wireless Metropolitan Area Networks
The wireless metropolitan area networks (WMANs) have emerged in recent years as a public network that enables mobile devices to easily access the abundant computing resources in urban cities as the number of mobile devices continues to grow [24]. In addition, wireless broadband connectivity requirements are growing (i.e., 5G and 6G), and the technology continues to evolve to meet these requirements [25]. It is currently evolving as a public network to expand mobile device performance, covering the metropolis and enabling mobile devices to access abundant computing resources [26]. Compared to Wireless Local Area Networks (WLANs), Wireless Metropolitan Area Networks (WMANs) offer wireless communications over significantly broader geographic regions. The problem of CDTO gets significantly worse when considering the deployment of cloudlets in WMANs because of the size of the WMANs [27]. Due to the high population density in urban regions, many users will have access to cloudlets. As a result, cloudlets will be more costeffective since they will be less likely to stay idle. Furthermore, due to the population in WMANs, service providers can take advantage of economies by deploying a small number of cloudlets to provide services through the WMANs [20] and making cloudlets accessible to the general public.

C. Cloudlet-deployment and Task-offloading (CDTO)
Cloudlets deployment is the first step in implementing mobile edge computing. Service providers always hope to provide services to as many users as possible under limited funds. The idea of treating cloudlets as a separate "data center in a box" must be scrapped. There are obvious benefits of connecting several cloudlets to form a network of cloudlets that can be distributed in the wireless metropolitan area networks, collocated with the base stations [20]. Cloudlet can be a single server or a cluster of servers, collocated with base stations, and mobile devices can access cloudlets close to the range [28]. Cloudlets can also be considered as offloading mobile device destinations, aiming to save energy [29] and reduce the latency between the remote clouds and mobile devices [30]. The close physical proximity between cloudlets and mobile devices is a significant benefit of cloudlets over the remote cloud. So that allows for low latency in communication, thus improving the QoS and the user experience of interactive applications [31]. To overcome the restrictions of mobile devices in the offloading process technique, mobile devices offload their tasks to the MECE [32]. Task-offloading improves the computing efficiency of mobile devices while reducing latency and overall spent energy if adequately designed and planned [5]. There are four types of delays in task-offloading from mobile devices to cloudlets: uploading, queuing, execution, and downloading the result. A typical process flow of task-offloading in WMAN is illustrated in Fig. 1. In related works, there are mainly three metrics expressing system requirements that can be optimized, the task response time [33], the cost of service for service provider and user side [34], and the energy consumption (the energy consumed by the device while task-offloading and the power needed by cloudlet to process tasks) [35]. In addition, some issues have been partially addressed in previous works, which are reliability, load balancing, cache content, task migration, user mobility, and cloudlet mobility. The exciting issues for related works that dealt with the problem as a single objective optimization are shown in Table II.

1) Response Time
The QoS metric in the design of offloading methods is the response time, which is the time between offloading the task from a mobile device to a cloudlet, processing it, and receiving the result back [36]. Furthermore, the response time is also defined as the delay [37], or latency [38] in some related works. Many aspects influence the response time of a task as followings:  The communication delay between the mobile device and the base station while offloading the task to the cloudlet.
 The communication delay between the base station and the attached cloudlet, which is always minimal while using fiber optics cables.
 The communication delay while routing the offloaded task from overloaded to under-loaded cloudlet.
 The queuing time before processing in the cloudlet.
 The processing time on the cloudlet.
 The communication delay between the base station and mobile device while receiving the result. Fig. 2 shows the task lifetime, from the mobile device to cloudlet, which is an uplink delay, queuing and execution at cloudlet, which is a processing delay, and from cloudlet to mobile device, which is a downlink delay.

2) Cost
The cost can be categorized into two sides: service providers and users. For the service provider, the cost of deploying cloudlets is related to two factors [21], which are site rentals and computations needs. The former means that the more locations are selected to deploy cloudlets, the higher the cost. The latter aspect tells us that the greater the computation needs, the greater the number of cloudlets, resulting in higher costs. On the other hand, users look for the best service at a reasonable price. The service price (the amount user have to pay) mainly specifies the willingness of users to pay for services [39].

3) Energy
Most existing works on MECE mainly focus on saving energy for mobile devices by offloading tasks to the cloudlets. Due to the battery life limitation for various mobile devices, the energy consumed by the mobile device processing the tasks is one of the most significant issues [40]. The energy is mainly consumed by mobile device data processing and transmission. Due to the limitation of processing in a mobile device [39], it is better to offload tasks from mobile devices to nearby cloudlets for energy-saving. The offloading of a task can decrease the processing energy by reducing the processed data size but increases the transmission energy by increasing the size of transmitted data [35]. On the other hand, service providers are looking for energy savings for cloudlets, reducing power costs.

4) Reliability
Reliability is a significant component that influences user QoS and service provider profit [41]. The significant causes of reliability decreases are failures or errors in the mobile edge computing environments. Failures and errors in the system can occur during task-offloading, processing, routing tasks from one cloudlet to the other, and receiving the result back [42]. Improving the reliability of task-offloading under the resource capabilities of the cloudlets and the dynamic network is an important challenge in the MECE.

5) Load Balancing
The cloudlets contain single or multiple servers to process the offloaded tasks. The load inequality in these cloudlets leads to different response times for offloaded tasks. Therefore, the load balancing between cloudlets for taskoffloading becomes essential [22]. Increasing the number of servers in the cloudlet makes balancing user workload less critical as the cloudlets can handle higher loads [43]. On the other hand, increasing the number of users will increase the task waiting time. Once the cloudlet reaches its maximum workload, it must route its overflow users' requests to the other cloudlets for better performance [44]. This means that a better strategy is to assign user tasks to under-loaded cloudlets rather than keeping them in an overloaded cloudlet [22]. Hence, it is clear that balancing the workload between cloudlets is necessary by mapping the tasks of users to different cloudlets.

6) Cache Content
When a task is offloaded to a cloudlet, the critical impact on task execution performance is data transmission delay. One of the most successful solutions is to cache data for the offloaded task in advance. Furthermore, because user data access patterns in WMANs are challenging to forecast [45], creating an adequate data caching technique with high access hit ratio is challenging. The number of content cached at cloudlet increases with the number of offloaded tasks increasing [46]. Content cache performance significantly impacts delay and bandwidth [47]. For example, the popular cached content in cloudlet can reduce the delay and the bandwidth usage of subsequent access to the same content.

7) Task Migration
In the MECE, the inter-flow between cloudlets is essential to make a load-balancing and support user mobility. In the network of cloudlets, to make load-balancing, tasks have to be forwarded from the overloaded cloudlet to the under-loaded cloudlet, so there will be no idle cloudlet in the system [48]. Hence, as shown in Fig. 3, to support user mobility in the system, tasks must route from one cloudlet to another cloudlet so that the task will be close to the mobile user for result download [49].

8) User Mobility
To support user mobility, edge computing requires the flexible and scalable deployment of cloudlets for the inherent dynamism of the operating environment and various applications, some of which require real-time response [50]. In related works, WMAN's user mobility pattern has attracted very little attention. A mobile user may move around the area covered by WMAN with specific transmission patterns, but different movement patterns may change the traffic size of the network. The cloudlet placement and task offloading strategy should reflect the mobility pattern better to meet the requirements of mobile devices to access network resources [51]. The mobility pattern is reflected by the connection possibilities between mobile devices and BS. Furthermore, the mobility pattern of mobile devices is highly correlated with service access delay. Connection failures may happen during user mobility with the poor quality of the wireless connection between mobile devices and BSs [52]. However, the next generation of cellular communication has overcome this issue. The excellent service would necessitate frequent wireless handover between multiple BSs to guarantee user QoS during movement. For constant QoS, mobile devices may be serviced by many cloudlets. Because of user mobility, wireless handover and service migration may be performed frequently, putting a heavy load on the other network entities [53].
To support user mobility, task migrations have to perform when a mobile user moves from the service region of one cloudlet to another. As mentioned four types of task service delay; there will also be a delay in task migration during user movement. Fig. 3 illustrates the task migration during user movement. To provide QoS for users, mobility management should make a wireless handover decision to select optimum BSs and cloudlets [54]. The primary goal of mobility management is to provide mobile computing services to continuous and uninterrupted customers during user movements.

9) Cloudlet Mobility
The cloudlet in the MECE can be static or mobile [12]. In mobile cloudlet networks, it is crucial to figure out how to make load-balancing between all mobile cloudlets so that all resources are utilized and tasks can be processed concurrently and sustainably by different cloudlets, therefore, reducing the average task response time and energy [61]. Cloudlet mobility is essential in MECE to provide good services for users, especially when the population moves (e.g. festivals, sporting events, etc.).
In Table II, all researchers consider the problem as a single-objective optimization. Most of them take the problem on one side (cloudlet-deployment or task-offloading), while very few consider both themes. Furthermore, most existing works mainly focus on minimizing time, reducing cost, saving energy, and load balancing, while the others take little attention. In Table II, various algorithms and methods were employed to address the issues, including greedy algorithms, clustering algorithms, heuristics, meta-heuristics, reinforcement learning, and mathematical programming. Comparisons were made between meta-heuristic and heuristic algorithms, meta-heuristic and greedy algorithms, reinforcement learning and mathematical programming. In addition, research studies such as [44] have compared metaheuristic and unsupervised learning algorithms, while [65] has compared meta-heuristic and mathematical programming, with results consistently demonstrating the superiority of meta-heuristic algorithms.

D. Related Survey Works
CDTO has been a fertile study area in recent years. As a result, many surveys and studies in the literature on solutions related to this area. In the work of [67], the problems of mobile cloud computing are presented and provide the most recent mobile cloudlet architecture. Furthermore, propose a hierarchical taxonomy to classify the most recent cloudlet solutions and discover the cloudlet application areas. In addition, it presents the aspects of cloudlet management, like cloudlet discovery, resource management, data security, mobility, and application offloading. The work of [68], studied the fundamental concepts of cloud and edge computing. Presented the application domain classified the state-of-the-art edge computing (Mobile Edge Computing, Cloudlet, and Fog) and the application domain area services such as real-time applications, resource management, data analytics, and security. Furthermore, state the essential requirements that must be achieved for edge computing to be enabled. The work of [69] proposes a taxonomy of taskoffloading in edge-cloud environments to examine and categorize related research papers and outline the challenges that still need to be studied before using edge-cloud computing to improve services. To identify the modern processes, the work of [70] provides a review of the machine learning-based computation offloading strategies in the MECE in classical taxonomy. Furthermore, it investigated various strategies and novel approaches related to machine learningbased offloading mechanisms in the MECE ecosystem. Also, taxonomy for classifying various principles of machine learning-based offloading mechanisms was proposed.
Finally, there are many other surveys, each considering a particular aspect of Mobile Edge Computing, which also lacks considering the Multi-objective optimization approach for the problem of CDTO.

III. OPTIMIZATION
Optimization is a method of finding and comparing appropriate solutions until cannot find any better solutions. Optimization often involves minimizing or maximizing the objective functions. Optimization, in other terms, refers to a collection of methods that may be applied to a mathematical model of the problem. The optimization algorithm provides systematic and efficient methods for producing and comparing new solutions to achieve the optimal solution [71]. Optimization is experimenting with various input-output combinations to find the resulting outputs. Its methods are far more advanced than those used in the computation. Optimization theory has custom-made algorithms to identify the best solution with little processing by utilizing model information. Optimum selection evaluations, suitable tradeoffs, and non-intuitive analysis of optimization techniques are utilized to develop a better and faster optimal design [72]. The role of modeling in optimization involves testing out many different combinations of inputs to determine what the output (i.e., the number you are trying to minimize or maximize) will be under each of those circumstances, with many inputs, it is usually not practical to guess and check on an existing system [73], optimization requires a mathematical model of the system, which is just the math that relates the inputs to the outputs. By using a system model to iterate, there is no limit to the number of combinations you can try (maybe just computational limitations). Optimization algorithms are much more sophisticated than guessing and checking a range of varieties (a process known as enumeration) [74]. Fig. 4 outlines the steps usually involved in an optimal design formulation. In the Mobile Edge Computing environment, users and the service provider have various requirements. The deployment of a small number of cloudlets in the WMANs to serve many users is significant for service providers. In addition, user satisfaction is one of the most important quality-of-experience (QoE) evaluation measures, especially affecting the service provider's profit due to the penalty when there is any infringement of the Service Level Agreement (SLA), which establishes an agreement between service providers and their users [75]. It significantly influences users' willingness to pay for services in the future. Thus, when offering services, user requirements must be considered and satisfied [40]. Furthermore, in the problem of CDTO, most existing works consider single-objective optimization, while very few consider it a Multi-objective optimization. The relationship "better than" between two solutions is insignificant when dealing with single-objective optimization problems. Whether a function has to be maximized or minimized, the one with the lower or higher fitness value is preferred. The relationship "better than" has to be redefined while dealing with the Multiobjective optimizations. Furthermore, when two nondominated solutions are compared, there is only one way to rate the best if enforcing specific user preferences. As a result, a new kind of fitness measurement is required [74].

IV. MULTI-OBJECTIVE OPTIMIZATION
Problems involve more than one objective in the real world, and conflict naturally leads to trade-off solutions. It is hard for the mobile edge computing service provider to determine the constraints. A feasible solution cannot be found if the constraints are not appropriate. Only one objective is confirmed, and only one solution may be generated if a constrained single-objective optimization problem is considered rather than a multi-objective optimization problem which may not result in a satisfactory trade-off between all objectives [76]. Most researchers in related works dealt with the problem as a single-objective optimization. In contrast, few researchers are dealt with the problem as multi-objective optimization, as shown in Table III. For the Multi-objective optimization problem arising from Cloudlet-deployment and Task-offloading (for simple MO-CDTO) in MECE, not only the minimization of task completion time and the energy consumption is required, but also the minimization of cloudlet-deployment cost is demanded [60]. In Table III, researchers consider the problem as multi-objective optimization. Most of them take the problem on one side, which is task offloading. Furthermore, time, cost, energy, and task migration have more extensive attention than others. The algorithms and methods were employed to address the multi-objective optimization problems, including meta-heuristic algorithms, a hybrid of meta-heuristic algorithms, machine learning and reinforcement learning. The results consistently demonstrate the superiority of the hybrid of meta-heuristic algorithms to address the multi-objective optimization problems.

A. The NP-Completeness of MO-CDTO Problem
The NP-complete problem is the hardest to solve. It is a problem that if there is an algorithm that can solve any of these problems, then it can solve all of them. Nobody has been able to prove that NP-complete problems are intractable. To prove that the MO-CDTO is an NP-completeness, first must explain that the problem belongs to the NP class and then show it is NP-hardness. When presenting a solution for the problem of MO-CDTO, the problem takes O (ML) time to evaluate if the total task-offloading probability for each user is no more than one and the maximum workload restriction for each cloudlet. Furthermore, O (L) time is required to verify that the number of deployed cloudlets at each base station is not greater than one. As a result, verifying a solution for MO-CDTO takes polynomial time. Therefore, MO-CDTO is under the class of NP problems. Based on the explanation of the pmedian problem in [81]. When ∀1 ≤ ί ≤ the number of users, the computing capacity of user ί is zero, the computing capacity of each cloudlet is infinity, the cost of each cloudlet is equal to zero, the energy consumption of users is constant, the cloudlet deployment cost can be neglected, and the maximum number of cloudlets that may be deployed must be deployed to reduce user task response time. Therefore, the problem of MO-CDTO becomes selecting BSs to deploy the number of cloudlets and assigning each user to a cloudlet so that the sum of the connection delay is minimized from all users to the cloudlets they are assigned. To that end, each user must be assigned to a cloudlet with the smallest communication delay so that the MO-CDTO problem is NPhard. Furthermore, based on the definition of NP-complete in [82] and [83] "If the problem class and is NP-hard so is NP-complete", while the problem of MO-CDTO belongs to the NP class and it is NP-hard, so it is NPcomplete.

B. Meta-heuristic Algorithms
The meta-heuristic algorithms are a class of local search algorithms used to solve multi-objective optimization problems. The main objective of these algorithms is to find the optimal solution for the given set of problems based on a given set of constraints. The main idea behind this method is that it considers all the constraints and variables that affect the solution. Users can specify these constraints or automatically generate them by the algorithm. In mathematical programming, heuristic algorithms are used to design solutions to problems as quickly as possible. It may not produce the best solution, but it will give a near-optimal solution in a short time [71]. Some trade-off conditions give an initial idea of whether a heuristic algorithm is a good fit or not for a given problem. One of these conditions is the completeness of the problem. If several solutions exist for a given problem, it is better to use a meta-heuristic algorithm [74]. A heuristic algorithm generally provides one solution that may not be the best among all the available solutions. Furthermore, meta-heuristic-based optimization has proved effective in solving many NP-hard problems. This method has been used in various real-world applications, including computer science, networking, communication, robotics, and manufacturing [84]. The main difference is that heuristic is the problem-specific method, while meta-heuristic is the problemindependent method that can be applied to many problems. Table IV classifies the heuristic and meta-heuristic algorithms. Meta-heuristic algorithms are divided into nature-inspired and non-nature-inspired.  Meta-heuristic algorithms are generated based on the mathematical models of different biological processes [3] and activities [85] that appear in nature, modified and applied according to a specific problem so that the result statistical data can be analyzed. Meta-heuristic algorithms can be used for CDTO performance metrics, such as cost, time and energy consumption, to reach the optimal solutions for the problem of MO-CDTO. The frameworks and procedures for the different evolutionary, swarm and hybrid algorithms are comparable [86]. However, the methods for population initiating, evaluating the initial fitness (the quality of the solution), the strategies for coming up with new solutions, and the iterative procedures are often different [3]. Because of their success in solving complex and important computing problems, metaheuristic algorithms have achieved widespread during the last two decades [87]. Due to their applicable independence in problem-solving, meta-heuristic algorithms are useful and well respected for solving problems in different fields with highly acceptable performance. Meta-heuristic algorithms are frequently exploited as an efficient way to address NP-hard optimization problems [88]. The most well-known and extensively used under meta-heuristics are evolutionary algorithms (EAs). Individuals, or potential solutions in EAs, are made up of a chromosome (a representation of the problem's variables) and fitness (the quality of solutions) [89]. Individuals are grouped to form populations. Every time a new solution is developed, it is examined to determine its fitness value. A generation occurs when a new one replaces the present population [90]. Evolution is iterating through consecutive generations that end when a termination condition is met. The most meta-heuristic algorithms used in the related works are the following:

1) Genetic Algorithm (GA)
Genetic Algorithms are natural search algorithms inspired by Darwin's theory of evolution. JH Holland first introduced it in 1973. Genetic algorithms can create high-quality solutions for various problems, including search and optimization, by imitating the processes of natural selection, reproduction, and mutation [91]. The population is updated using the traditional GA update approach, which includes binary tournament selection, a two-point crossover operator, and a mutation operator. Furthermore, the elite individuals (those with the highest fitness values in the population) are entirely replicated in the next generation using the elitist preservation mechanism of this algorithm [8].

2) Simulated Annealing (SA)
Simulated annealing is a technique for addressing unconstrained and bound-constrained optimization problems. It was first introduced by [92] in 1983. Simulated annealing investigates alternative configurations to produce better solutions to the massive combinatorial problem. The configurations are updated and compared at each iteration, allowing the best configuration to be chosen [93]. Furthermore, a simulated annealing algorithm initially allows other random movements in the neighboring search space, but the activities are reduced over time. The algorithm chooses neighboring states with a cost lower than the current state or the exact cost [94].

3) Whale Optimization (WO)
Whale Optimization is a new nature-inspired metaheuristic optimization algorithm that simulates humpback whale social behavior. The bubble-net hunting approach inspired the algorithm. Mirjalili and Lewis, two Australian researchers, introduced the Whale Optimization Algorithm in 2016 [95]. The WOA offers a lot of potential benefits. It is unaffected by early solutions, which can considerably impact some traditional algorithms. It also contains adaptive mechanisms to balance explorative and exploitative behaviors appropriately. It is widely used in various domains, including engineering optimization, feature selection, and parameter extraction [96].

4) Particle Swarm Optimization (PSO)
The particle swarm optimization algorithm is based on the study of bird predation behavior. Its straightforward premise is to discover the best solution through collaboration and sharing information between individuals in the swarm. The PSO is one of the meta-heuristic algorithms proposed by [97] in 1995 based on the social swarm evolving notion. According to experimental studies and applications, the PSO is highly competitive in optimization. The essential idea of particle swarms is the social interaction that results in collective intelligent behavior. Both the set of entities and the swarm of birds move with two velocity components. The first one attracts them to the best global entity, and the second attracts them to the best local entity [84].

5) Ant Colony Optimization (ACO)
In the ACO technique, natural ant behavior is crucial in determining the optimum route between colonies and food sources. This concept was first presented as the "ant system" [98] in 1992. As they go forward, the ants expel the pheromones. Pheromones form the shortest paths over time, and the intensity of the pheromone helps to identify the quickest route to the food source. Indeed, the ACO was inspired by the ant behavior to determine the shortest path between anthill and the location of the food supply [99].

6) Cuckoo Search Algorithm (CSA)
Cuckoo Search is a meta-heuristic optimization algorithm used to solve optimization problems. Yang and Deb invented it in 2009 [100]. The CSA is a nature-inspired meta-heuristic algorithm based on cuckoo brood parasitism, and Levy flights random walks. The CSA is based on the parasitism of the offspring of a bird species known as the cuckoo. The CSA algorithm implements the Lévy flights [100]. Usually, the parameters of the cuckoo search are kept constant for a particular duration; this results in a decrease in the algorithm's efficiency.

7) Differential Evolution (DE)
Differential evolution (DE) is one of the most well-known generation EAs, developed by Storn and Price [101] in 1997 and effective for constrained optimization problems in nonlinear and multimodal environments. Differential Evolution is a generic Nature-inspired population-based global-search meta-heuristic optimization algorithm. Therefore, it is largely suited for numerical optimization problems based on vector differences.

8) Tabu Search (TS)
Tabu search (TS) is a heuristic method proposed initially by Glover in 1986 [102]. Tabu search is a potential tool to discover a feasible optimal solution from a limited set of solutions. In other words, it is an optimization approach that uses a guided local search procedure that avoids local optimum and denies moves to points already visited in the search space using the so-called tabu list [102].
The common trend of EAs is hybrids of different evolutionary algorithms. These hybrids are relatively easy since most EAs can use the same population table and gene presentation. Hybrids are mainly accomplished to avoid the shortcomings of one algorithm; for example, using a hybrid of two algorithms, one for a local search and the other for a global search.

V. VARIABLE-LENGTH
While there is no proper definition for a vector of a variable-length searching of solution space, therefore, most optimization theories depend on the fixed-length assumption to represent solutions [73]. There are several cases of variablelength approaches in which the number of variables is not fixed. One of these cases is CDTO. Standard optimization procedures may be used by considering a fixed number of variables. However, a sub-optimal length will result in a suboptimal solution [86]. The algorithms can be executed iteratively and change the given length until an optimal solution is found. However, this is inefficient and impractical if there is an extensive range of possible lengths. For other fields of study, Table V shows the algorithms developed in meta-heuristic optimization with the variable length features. Variable-length algorithms are better since their solution vectors can vary in length [103].
Overall, as shown in Table V of the reviewed algorithms, the majority of them were developed to support a single objective except for the work of [89], which is based on an evolutionary algorithm and was applied only to a Biobjectives problem without investigating the proposed algorithm and the work of [84], which suffers from weak interaction between solutions.
The traditional meta-heuristic optimization algorithms consider a fixed length of solution space, but these solutions do not apply to many real-world problems. The specific values of some decision variables might generate another or disable others, which cause the variable-length nature of solution space because of the different lengths of solutions. Multiobjective nature comes from having more than one objective to be optimized, e.g., delay, cost, and energy. Hence, MO-CDTO is a multi-objective variable-length optimization problem; the variable-length nature comes from the different number of cloudlets to deploy according to the computing requirements. Furthermore, the related works for the problem of MO-CDTO lack a single or multi-objective optimization algorithm with the variable-length feature. www.ijacsa.thesai.org

VI. CONCLUSION
Mobile edge computing has become an important technology to overcome some of the inherent constraints of mobile devices. Service providers are looking to provide excellent and cheap service to the MECE end-users. Furthermore, researchers focus on three main things in the MECE, which are minimizing time, reducing cost, and saving energy while solving different issues. Hence, the issues are related to each other. In contrast, the reliability and loadbalancing affect time and energy, the cached content affects time, and the task migration and cloudlet mobility support the user mobility for good service and reducing time. The problem of CDTO has become an exciting research area. It has to be considered a multi-objective optimization problem since it needs more than one objective to be optimized. The problem of MO-CDTO is NP-complete because it belongs to the NP class and is NP-hard. The Meta-Heuristic algorithms have to be used for this type of problem as it is practical to solve MOO problems. For feature works, variable length of solution space is an appropriate approach for the problem of MO-CDTO because of the variation in the number of cloudlets to be deployed. A hybrid of two meta-heuristic algorithms with the variable-length aspect may generate powerful solutions. Many issues still need to address in the MECE, like reliability, user mobility, and load-balancing between cloudlets. This study is excellent material for future researchers to have an overview of the problem and take the research forward to resolve the unaddressed issues. www.ijacsa.thesai.org www.ijacsa.thesai.org