Game theory and evolutionary optimization approaches applied to resource allocation problems in computing environments: A survey

: Today’s intelligent computing environments, including the Internet of Things (IoT), Cloud Computing (CC), Fog Computing (FC)


Introduction
Nowadays, researchers try to enhance the overall performance and the QoS of IoT environments using intelligent mechanisms.In the IoT, dealing with all types of data is accomplished, and providing valuable and efficient services is associated with various challenges because numerous devices produce different types of data at various frequencies.The advent of new technologies as paradigms such as CC, FC, and EC leads to the development of IoT through the World Wide Web [1][2][3][4].The common goal of these computing environments is to access the optimal resource allocation to consumers via the internet [5], in which structures and mechanisms are different for computing environments.
For allocating problems, it is required to obtain a reasonable and optimal allocation using the suitable resource allocation mechanism for the services which can orchestrate concurrently [6].Resource allocation is a prominent subject in CC with distributed scarce resources [7].The computing resources are dynamically allocated according to the conditions and priorities of users.The conventional resource management systems are not capable of processing resource allocation tasks and allocating existing resources in a CC environment dynamically.Dynamic allocation of resources has a high computational complexity owing to the complex procedure of giving numerous versions of the identical work to various devices.
Similarly, resource allocation is a significant challenge in CC [8].Cloud computing is a model to provide easy access to a set of changeable and configurable computing resources.In this model, based on user demand for servers, storage resources through the World Wide Web have the least need for resource management and direct intervention of the service provider [9,10].The advent of cloud computing, which is transforming the information technology perspective very fast [11], has been integrated into virtual infrastructures [12], and its services are managed by professional providers [13].Also, cloud computing has been developed from computing models such as network computing, distributed computing, and parallel computing, emphasizing usability [11,14,15].
Due to the heterogeneous nature of cloud computing, resource allocation is frequently based on two methods; system-centric and user-centric.The system-centric method optimizes numerous system performance criteria, e.g., total system throughput.The user-centric method mainly focuses on maximum utilization provisioning for users based on QoS requirements [16].Achieving three goals of increasing resource utilization efficiency, increasing user satisfaction from the desired QoS, and maximizing the benefits of both fog service providers and users are challenging problems in resource allocation and scheduling [17,18].
On the other hand, cloud computing, with its three main types of services, i.e., infrastructure, platform, and software, and its key benefits (e.g., scalability and flexibility), still faces some challenges.The distance between the cloud and end devices may be a problem for delay-sensitive applications such as crisis management and content delivery.s The integration of CC with IoT devices, called CoT, which has been the subject of researches is introduced to address the aforementioned challenges in recent years.CoT provides management convenience for increasing media content and other data and features such as pervasive access, service creation, service discovery, and resource provisioning.It is essential to decide on the type of data to load in the CC without burdening the core network and the cloud [19].Despite these improvements, a new paradigm is called FC is placed between IoT and cloud levels to manage resources, perform data filtering, preprocessing, security measures, low latency, location awareness, and improvement of quality service [20].
According to Cisco's definition of the FC, it adds cloud layer services to Local Area Network (LAN) so that the operation occurs close to the end-user, where two parameters of data processing time and network traffic overhead are reduced [21][22][23], and also, FC, known as "clouds at the edge," has been developed to improve the QoS by allocating resources near devices, to reduce computation latency and fronthaul traffic data at network edges [17].In addition, in FC, different edge nodes can work together to share computing resources, storage, and communications to perform some computing tasks locally.At the same time, no interaction is required with the CC center through fronthaul links [24].Indeed, fog computing infrastructure as a new distributed computing supports the heterogeneity of fog devices, including end-user devices, access points, edge routers, and switches [25].
The most essential element in the FC is the fog node, which expedites the implementation and deployment of applications in the IoT layer [22].However, deploying fog computing in the IoT environment has its challenges [26].According to the above description, a three-layer model of the IoT, FC, and CC is shown in Figure 1.

Fog Computing Layer
IoT Devices Layer Figure 1.Three-layer model of the IoT, FC, and CC [1].
Based on Figure 1, the main goal of the IoT and fog networks is to provide services in acceptable and agreed QoS metrics and low monetary cost [4,27].Additionally, cloud computing shifts towards the edge to improve QoS for IoT devices.
Nevertheless, the resource capacity of the fog network is constrained [28], and it is necessary to create IoT applications effectively with accurate QoS requirements with the existing network infrastructures [29].
Hence, having an appropriate resource allocation model based on the FC is necessary to cover the components of the fog node so that different resources can be selected after transferring from the IoT layer to the fog layer through designing resource allocation strategies [30].In this way, the data packets move to the fog nodes in different network points.They can be managed to host fog services combined with IoT applications to reduce latency and jitter time error and optimize power consumption [22].
To this end, a new computing paradigm, namely edge computing, is introduced to solve the problems of battery lifetime constraint, response time, bandwidth cost preserving, and data security and privacy.
Edge computing represents the enabling technologies permitting computation to be conducted at the edge of the network (e.g., edge node) on downstream data and upstream data on behalf of cloud services and IoT services, respectively.The edge computing paradigm can be replaced with FC so that the EC concentrates more on the IoT, but the FC concentrates more on the infrastructure.Also, the EC is as crucial as the CC is in the world [31].The EC environment is shown in Figure 2. Based on Figure 2, in the EC environment, things play the role of data consumers and data providers.At the edge, things can behave in two ways, including requesting service/content and conducting tasks from the CC.It is required a rational resource allocation through the FC, EC, CC, and IoT to address the problems such as energy consumption, optimal resource allocation, fog nodes lifetime, real-time interaction, latency, and jitter.
Hence, in this article, we concentrate on innovative approaches, including evolutionary optimization and game theory of resource allocation problems.Using the evolutionary optimization methods may lead to few resources optimizations, while it is necessary to make the most required resources available to the consumers at the expected time [32].
The evolutionary optimization theory is utilized to solve the problem of increasing the efficiency of the host-centric applications and the total power consumption in a data center [33].For instance, in [34], a bio-inspired hybrid algorithm is performed to optimize resource utilization and minimize response time and processing costs.
Besides the optimization methods, game theory models have been developed so that these models can reach the goals such as increasing resource utilization and high QoS for consumers, and allocating resources efficiently and fairly between cloud centers, cloud service providers, and data consumers [35].
Meanwhile, the game theory uses mathematical tools to model and analyze states containing several decision-makers, named players.Each player includes a set of actions that is faced with the storage of joint and rare network resources.To this end, the generated model consists of interaction between the players by permitting each player to be impressed by the actions of all players to achieve a suitable allocation of resources based on the service requests for players [36,37].
The innovations of this article are as follows:  The comprehensive review of two categories of approaches, including game theory and evolutionary optimization approaches for resource allocation in various intelligent computing environments. Comparison between past survey articles for resource allocation in computing environments with this article. Providing suggestions for future researches on resource allocation problems in computing environments.
The rest of the article is as follows.In Section 2, the research methodology, including the review of all the published survey articles and research articles is presented for resource allocation problems.In Section 3, the survey of this article is discussed, and explanations along with figures and tables are given.
The summary of challenges from studied researches has been explained in Section 4. Finally, in Section 5, conclusions and future research work are given.

Research methodology
In this article, all the researches in the form of survey articles and research articles are investigated based on the research methodology.First, the survey articles published on resource allocation are described in detail in Subsection 2.1.Then, in Subsection 2.2, the research methodology is explained according to the researches that have been recently carried out in the form of research articles for the problem of resource allocation in various computing environments using two categories of game theory and evolutionary optimization approaches.

A study of survey articles on resource allocation
According to the survey articles on the resource allocation problems, a detailed description of the purposes, limitations, and computing environments of the researches are explained.Also, a comparison of them with the current article is presented in the following.
Yousafzai et al. [38] have investigated resource allocation problems in the CC environment.In the process of resource allocation, cloud resource allocation strategies have been considered utilizing a thematic classification with features such as design methods, optimization goals, and techniques, and valuable performances.While, in this article, we investigate most of the computing environments that have been considered in the field of resource allocation in recent years using game theory and evolutionary optimization approaches.
Ghobaei et al. [39] have examined resource management approaches for the FC environment in six classes, including application placement, resource scheduling, load balancing, task offloading, resource provisioning, and resource allocation.They have considered auction-based and optimization schemes for resource allocation.However, in this article, various computing environments in the field of resource allocation are investigated.
Hameed et al. [40], Beloglazov et al. [41], and Shuja et al. [42] have conducted studies on categorizing articles based on efficient energy in the CC environment, while, in this article, the classification is performed through the various approaches of resource allocation in different computing environments.
Aceto et al. [43] have studied merely resource monitoring for the CC systems, while we focus more comprehensively on resource allocation in different computing environments.
Jennings and Stadler [44] have presented a framework for cloud resource management.In this survey, the existing literature is reviewed regarding two categories of approaches; game theory and evolutionary optimization.
Goyal and Dadizadeh [45] have discussed the implementation of parallel processing frameworks, e.g., Microsoft's Dryad and Google's MapReduce frameworks.However, in our study, resource allocation methods according to the latest scientific achievements published in the articles are discussed.
Hussain et al. [46] have examined the work process of commercial cloud service providers and open-source cloud deployment results.However, in this article, two approaches to resource allocation problems in different computing environments are studied.
Huang et al. [47] have conducted studies on dynamic resource allocation and task scheduling strategies to investigate how a Software-as-a-Service (SaaS)-based cloud computing system operates under infrastructures.But, in this survey, a review of resource allocation approaches in different computing environments is the subject of study.
Ahmad et al. [48,49] have studied only the virtual machine migration optimization features for cloud data service operators.However, our study focuses on the latest resource allocation approaches, including game theory and evolutionary optimization approaches for a wide range of computing environments.
Vinothina et al. [50] have discussed the classification of different strategies and resource allocation challenges and their effects on the cloud system.Regarding the strategy, they have mainly focused on Central Processing Unit (CPU) and memory resources.However, in the present article, we deal with various computing environments for resource allocation problems.
Anuradha and Sumathi [51] have studied resource allocation approaches and techniques in the CC.They also have made comparisons between the approaches concerning their merits and demerits.The strategies they have reviewed include prediction algorithms for resource requirements and resource allocation algorithms.Finally, they have identified an efficient resource allocation strategy by effectively utilizing resources in an environment limited to cloud computing resources.Whereas, in this article, a review of game theory and evolutionary optimization approaches are carried out on resource allocation in different computing environments.
Mohamaddiah et al. [33] have reviewed researches on resource management, mainly resource allocation and resource monitoring strategies.They have investigated schemes to address resource allocation problems in the CC environment.However, we analyze most of the different computing environments by applying game theory and evolutionary optimization approaches for resource allocation problems.
In a study by Mohan and Raj [7], different strategies for allocating network resources and their applications in the CC environment have been presented.The issue of network resource allocation in cloud computing, which is based on the differentially adapted dynamic proportions, has also been briefly described.However, in the current study, we review two categories of game theory and evolutionary optimization approaches for optimal resource allocation problems in different computing environments.
In a study by Castaneda et al. [52], an overview and a survey of various methods have been presented to achieve common optimization tasks in the downlink of Multi-User Multiple-Input Multiple-Output (MU-MIMO) communication systems.
Manvi and Shyam [53] have investigated important resource management methods, including resource provisioning, resource allocation, resource mapping, and resource matching.They have provided a comprehensive review of the techniques for Infrastructure-as-a-Service (IaaS) in the cc, and also have presented issues and open problems for further researches.
In a study by Su et al. [54], the methods and models of resource allocation algorithms in 5G network slicing have been examined.The fundamental ideas of Software-Defined Networking (SDN) and Network Functions Virtualization (NFV) and their roles in network slicing have been introduced.The Management and Orchestration (MO) architecture of the network slicing that provides a basic framework for resource allocation algorithms has also been investigated.Subsequently, the categories of resources with the corresponding limited surface in the Radio Access Network (RAN) slicing and core network slicing are discussed.
In the last survey, Saeik et al. [55] have proposed three leading solutions, including mathematical optimization, artificial intelligence, and control theory to demonstrate that how Edge and, or Cloud computing can be joined together to simplify the task offloading problems.Their studies concentrated on numerous viewpoints such as IoT and 5G technologies, communication, caching, versatility management, application scenarios, remote integration, architecture, task offloading, models, and algorithms.The solutions mentioned above, are classified based on optimization objective, algorithms, mobility, offloading, and granularity.The objectives of task offloading consist of delay, energy, bandwidth/spectrum, load balancing, deployment cost, model accuracy, multi-objective, which are similar in each three subfield solutions.The mobility, offloading, and objective optimization parameters in the three subfields solutions are entirely like each other, but the algorithms which are utilized in the categorization of the three subfields are different from each other.They compared the solutions based on stability, low complexity, optimality, online training, reachability, and real-time decision features.The stability, optimality, and reachability features perform well in the Control theory solution, While complexity and optimality work well in mathematical optimization.Also, online training, reachability execute well in artificial intelligence but real-time decision works well for all solutions.
Hence, the control theory techniques have been examined as a substitute way to show the uncertainties of the dynamic problems and guarantee the essential steadiness of the task offloading systems.

Proposed approach
In this subsection, according to Figure 3, the process of the proposed approach is presented to apply approaches for resource allocation problems on intelligent computing environments regarding two categories of approaches; game theory methods and evolutionary optimization.According to Figure 3, in Subsections 2.2.1 and 2.2.2, the accomplished researches in the field of resource allocation is explained in detail based on the game theory and evolutionary optimization approaches, respectively.

A study on resource allocation based on game theory models
Game-based theories provide a wide range of mathematical tools for modeling and analyzing interactions related to individual or group behaviors of users in computing environments [56].Game theory [35] is an appropriate tool to model and examine the resource allocation problem in different computing environments.In general, game theory approaches help to simplify complex problems to a great extent.Therefore, in this article, according to the latest scientific achievements, we review the research articles that have been published recently in the resource allocation field using game theory techniques in various computing environments.In this subsection, we describe in detail the game theory models for resource allocation in different computing environments, which computing environments are specified in Figure 3.
In a study by Zhang et al. [57], a three-layer hierarchical game framework has been proposed for resource management in multi-Data Service Operator (multi-DSO), multi-Fog Node (multi-FN), and multi-Authorized Data Service Subscriber (multi-ADSS) scenarios.In this framework, firstly, a Stackelberg game between DSOs and ADSSs is introduced, where DSO acts as a leader and provides virtual services to ADSSs as followers.Then, a moral hazard model has been adopted in contract theory between DSOs and FNs to encourage FNs to provide adequate physical resources.Finally, a student project matching game has been suggested for resource allocation based on physical and virtual resources.
Klaimi et al. [58] have proposed a novel concept of VFC to solve the adaptive control problem for applications with various quality of service requirements and dynamic vehicle resources.An effective game theory method has been designed and a new algorithm has been introduced that evaluates all the features of the game to show that the Nash equilibrium criterion has always been maintained in the game.The proposed approach can improve the QoS, energy, and system efficiency compared to the Low-latency Queuing algorithm.
In a study by Zhang et al. [59], a joint optimization framework has been proposed for all the Fog Nodes (FNs), Data Service Operators (DSOs), and Data Service Subscribers (DSSs) to attain optimal resource allocation approaches in IoT-fog networks.In this framework, a Stackelberg game has been formulated for analyzing the pricing problem of DSOs and the resource allocation problem of DSSs.Moreover, a game with many-to-many matching has been utilized to deal with the paired problem between DSOs and FNs that the DSO is aware of the anticipated amount of the resources purchased by the DSS.Another layer of many-to-many-matching between each paired FN and the server has been used to address the FN-DSS pairing problem in the identical DSO.The suggested framework can considerably enhance the performance of IoT-based network systems.Eventually, by increasing the average workload arrive rate for DSSs, the utility of FNs first improves then gradually converges to a fixed value when the number of FNs is set.
In a study by Munir et al. [60], a hierarchical game theory algorithm has been proposed for optimal resource allocation in the process of a heterogeneous network with femtocell movements in the edge.The first game of the algorithm consists of Femtocell Access Points (FAPs), which play a non-cooperative game to select between open and closed access policies to increase their home subscriber rates.In the second game, Macrocell User Equipment (MUE) is provided to decide on the connection between the FAPs and the Macrocell Base Station (MBS) to maximize their rates and total network performance.The hierarchical game algorithm with a network-assisted user-centric scheme improves the performance of the 5G HetNets significantly compared to the closed and network-centric access policy approaches.
Chen et al. [61] have proposed a framework based on the game theory, named a multi-leader multi-follower Stackelberg game, where End Users (EUs) and Mobile Edge Clouds (MECs) or mobile edge computing nodes perform as followers and leaders, respectively.The proposed framework is a solution for computing a Stackelberg equilibrium, where each MEC reaches a maximum revenue, and each end user attains maximum efficiency with resource budget limitations.The resource allocation and pricing problems convert multiple resources into subsets that each subset is considered as a single type of resource.
The Stackelberg game framework is created for each sub-problem, where each player, namely end-user, can maximize productivity via choosing a suitable approach in the strategy space.Their study has demonstrated the existence of the Stackelberg equilibrium sub-game and algorithms for determining the Stackelberg equilibrium for each type of resource.As a result, it has been shown that the end-user with idle resources can act as MEC.
In a study by Liang et al. [62], a Stackelberg model-based hierarchical game has been developed to deal with resource allocation in Heterogeneous Relay Networks (HRNs).The suggested game is comprised of two sub-games; Backhaul-Level Game (BLG) and Access-Level Game (ALG), where Relay Nodes (RNs) play the role of BLG leaders in backup links, and Mobile Stations (MSs) act as ALG followers in access links.Leaders select optimal resource allocation approaches by estimating accessibility to MSs, and subsequently, followers give the best response to the leaders' strategies.As a result, this method can ensure the balance of power between backlinks and access links and enhance user data rates and the full use of system resources in HRNs.
Nezarat and Dastghaibifard [63] have proposed an auction-based approach under non-cooperative game theory combined with the Bayesian learning method in a cloud computing environment to determine the auction winner.They have compared the proposed method with three algorithms, including the cost-agnostic greedy, cost-agnostic provision, and Naïve Auction in terms of workload and number of tasks assigned to resources according to their deadlines.Comparison results have shown that in the Naïve Auction method, many tasks can be auctioned, while a small number of them can obtain their desired resources.In addition, other methods have been capable of allocating more than 80% of tasks to resources, however, in the suggested method, the higher percentage of tasks receive services, and the breach rate of the service level agreement is meager.Finally, using non-cooperative game theory, resource allocation reaches a Nash equilibrium point in an incomplete information environment.Also, the Bayesian learning forecast has the most proper performance to help the auctioneer obtain the balance price of resources.
In another study, Nezarat and Dastghaibifard [64] have used a non-cooperative game theory method with a Bayesian learning method based on auction theory to address the resource allocation problem in the cloud computing environment.The objective of the proposed method is to choose the best bidder to sell resources accordingly in an incomplete information environment.The experimental results have demonstrated that resource allocation among non-cooperative users can achieve a Nash equilibrium point for an environment with incomplete information using the game theory method.Also, the Bayesian learning forecast has the most appropriate performance, which helps an auctioneer to decide on the price balance of resources so that finally, the non-cooperative game theory method along with the Bayesian learning method can solve resource allocation problems in cloud computing.
Yang et al. [65] have used Stackelberg-based game theory approaches to model a problem to minimize energy consumption in the DCs.In their model, the recipient of the system request, who acts as leader, is capable of maximizing profits through adjusting the provision of resources.Whereas, the scheduler agents, who perform as followers, can choose resources to achieve optimal performance.The suggested method can significantly enhance energy efficiency in dynamic work scenarios while no service level agreement is compromised in the DCs.Moreover, the power consumption of the STG (the proposed method is labeled as STG), dynamic capacity provisioning, and dynamic voltage and frequency scaling schemes increase with the reduction in average response time.
Huang et al. [66] have designed the game theory algorithm and resource allocation protocol based on the equilibrium derivations for intercellular Device-to-Device (D2D) resource allocation in the CNs.This approach addresses the resource allocation problem for a D2D link in the common area of two neighboring cells according to the Nash Equilibrium (NE) derivation and analysis.They have used the game theory algorithm to study D2D communication conditions, where the D2D link is placed in the overlapping area of two neighboring cells.According to the three proposed intercellular D2D scenarios, they have found that due to the existence of the D2D, the intercellular interference conditions can be more serious.The experiment results have shown that the created resource allocation game model has a better effect on system performance than a static Cournot game [67], which significantly increases the sum rate and the sum rate gain.
Huang et al. [68] have conducted a game theory investigation on context-aware resource allocation for device-to-device communications on the CC-IoT so that resource allocation between two-cell base stations is modeled as a cooperative game, wherein a pair of users are placed device-todevice.A scheme is designed for determining the bandwidth allocation at each base station and maximizing the efficiency of the overall performance of both stations in CC-IoT.This scheme has been combined with the protocol proposed in [66], and also, a context-aware device-to-device resource allocation in the CNs has been provided by selecting different approaches for various system conditions.
Jie et al. [35] have modeled an optimal resource allocation problem using double-stage Stackelberg game theory with interactions between three categories, including cloud centers, fog service providers, fog nods, and data users in the FC-IIoT environment.They have presented three algorithms such as data user's best response algorithm, optimal price strategy of all fog service providers, and optimal bid strategy of the fog service provider to achieve Stackelberg equilibrium and Nash equilibrium.As a result, applying the three algorithms, Stackelberg equilibrium among data users, fog service providers, and the cloud centers, and also, Nash equilibrium among non-cooperative fog service providers are achieved in FC-IIoT environment.
Song et al. [56] have utilized non-cooperative game, auction game, and Stackelberg game models for D2D direct communications and cooperative game models, e.g., coalition formation games for D2D Local Area Network (LAN) communications to solve radio resource allocation problems underlying CNs.They have demonstrated the applications of game-theoretic models to present the radio resource allocation problems in D2D communication.According to the results, in the noncooperative model, each mobile makes a single decision, which may cause intense data collisions.Nevertheless, in the proposed coalition game-theoretic model, the mobiles cooperate to increase the usefulness function, and then the proposed model obtains a better efficiency in cumulative service rate.
Wei et al. [69] have suggested a Cloud resource Allocation Model based on an Imperfect Information Stackelberg Game (CSAM-IISG) for resource allocation in a cloud computing environment utilizing a hidden Markov model.They have been able to raise the profits of the resource provider and the user.
Consequently, they have maximized profit for the infrastructure providers by designing a unit price-based allocation model.They demonstrated that the predicted price is near the actual transaction price, but it is less than the actual value in the proposed game model.Also, using the CSAM-IISG model, the bandwidth price and CPU price were obtained greater than the traditional model and reached a Nash equilibrium.Moreover, the profit of the proposed model was gained greater than the traditional auction model when the number of service providers was uniform.Finally, with enhancing the resources of infrastructure suppliers, the profit of the CSAM-IISG model improved more meaningfully than the traditional auction model and enhanced the resource utilization of the infrastructure supplier.
Zhang et al. [70] have presented an interference-aware resource allocation non-cooperative game theory framework introducing cross-tier/co-tier interference, incomplete channel state information, and energy harvesting in Simultaneous Wireless Information and Power Transfer (SWIPT) enabled heterogeneous networks.In the proposed framework, the interference-aware resource allocation game includes two subgames: the subchannel allocation and the power allocation.The power allocation problem is made as a non-cooperative game by considering a cross-tier/co-tier interference pricing with SWIPT in a heterogeneous small cell network.Also, subchannel allocation is made as a noncooperative potential game by decreasing the overall interferences experienced by users.The iterative power optimization and iterative subchannel allocation algorithms have been designed to achieve the Nash equilibrium for reducing co-channel interference in small cells.They found that the proposed algorithms compared to the exhaustive search method have a much lower polynomial complexity.Regarding the capacity of the overall small cells, the convergence performance of the proposed power optimization allocation algorithm demonstrates that this algorithm converges after closely four iterations, and the capacity can obtain better performance by increasing the number of small cells.Moreover, in an incomplete channel state information scenario, the capacity of the small cells of the proposed algorithms compared to the fixed power scheme is about 8% more when there are 50 small cells.
Zhang et al. [71] have developed a distributed Joint Computation Offloading and Resource Allocation Optimization (JCORAO) scheme based on the potentially distributed game in Heterogeneous Networks with Mobile Edge Computing (HetNets-MEC).They have also designed a sub-algorithm called cloud and wireless resource allocation algorithm for joint allocation of up-link sub-channel, up-link transfer power, and computing resources to offload mobile terminals.The evaluation results have illustrated that the distributed JCORAO scheme provides better performance regarding overall cost compared to the Local Execution Completely Algorithm (LECA), cloud execution completely algorithm, and centralized JCORAO.Also, the LECA algorithm is less complex than other algorithms.Furthermore, the distributed JCORAO scheme consumes the least energy.It requires the least task completion time compared to the distributed computation offloading algorithm [72] and energy-efficient dynamic offloading and resource scheduling scheme [73].In the other words, it has been shown that the fractional Frequency reuse based on the Hungarian method and graph coloring is a more effective method compared to the uniform zero frequency reuse method considering reducing interference between neighboring mobile terminals.Finally, the existence of Nash equilibrium has been proven in the HetNets-MEC environment.
Li et al. [74] have developed a vehicle edge framework based on the Stackelberg game model to analyze the pricing problem of FNs and the data resource strategy for Data Service Agents (DSAs) via the distributed iteration algorithm, called dynamic service area partitioning algorithm to balance the DSA load and improve the QoS.In this approach, they have combined the MEC and the internet of vehicles, i.e., Vehicular Edge Computing (VEG).Simulation results have illustrated that the suggested framework can guarantee the allocation efficiency for FN resources between the cars.Also, using this framework, the optimal strategy has been obtained for the participants and the subgame gets Nash equilibrium in the VEG environment.Moreover, their results demonstrate that the density of vehicles and resource occupancy rate can impress the service area of the data service agent.Therefore, if the density of cars is greater, the fewer the resources accessible to the server.
Pillai and Rao [75] have developed a resource allocation mechanism called the coalition formation model based on the uncertainty principle of game theory between machines in the cloud computing environment.The experiment results have indicated that the proposed mechanism designed by coalition-formation for requests with unspecified task information provides better utilization of resources for the machines on the cloud.According to the evaluations, the proposed mechanism achieves better performance by reducing task allocation time and resource wastage and increasing request satisfaction.The complexity of integer programming can be avoided for coalition-formation in a CC environment through solving the optimization problem.
Xu and Yu [76] have used a game theory algorithm as a finite extensive game with complete information to model the multiple resource allocation problem to the virtual machine level in CC.This resource allocation algorithm is called the Fairness-Utilization trade-off Game Algorithm (FUGA), which supports fair resource allocation for users and efficient utilization of resources for each physical server.The experiment results have illustrated that the FUGA is superior to the Hadoop scheduler regarding fair resource allocation, and it can also allocate resources more efficiently compared to the allocation mechanism of the Google cluster and the First-Fit Algorithm.Finally, the FUGA leads to a Nash equilibrium decision in the CC environment.
Zhou et al. [77] have investigated optimal computing resource allocation and task assignment problems in VFC.They have proposed an impressive incentive mechanism generating a contract theoretical model to encourage vehicles for sharing their resources.They have also developed a pricing-based stable contract-matching algorithm to address the task assignment problem.As a result, the proposed incentive mechanism leads to social welfare, which achieves optimal performance with no need for information asymmetry.Also, the suggested task assignment approach achieves low overall network delay, i.e., it is close to the optimal comprehensive search algorithm, and the total computation complexity is reduced significantly.
In the last study, Wang et al. [78] have examined a two-user scenario of non-orthogonal multiple access (NOMA)-based MEC network.They considered the users as leaders and the MEC as followers.Then, a Stackelberg game is modeled based on the interaction amid energy consumption and latency.In this game, the leader was inclined to reduce the overall energy consumption for task offloading and local computing by the task assignment coefficients optimization and transfer power.On the other hand, the followers' goals are to decrease the overall execution time by assigning diverse computational resources to prepare the offloaded tasks.Moreover, the multi-user scenario has been performed to allocate the users into various sub-channels with the matching-based user pairing algorithm.The closed-form solutions (CFS) were derived for the optimization variables to achieve the low-complexity solutions.The results demonstrate that the overall energy consumption decreased dramatically using the derived optimal solutions in the two-user scenario.The more the max tolerance increases, the more the energy consumption of CFS decreases, and more tasks will be offloaded to the MEC server at a reduced rate.They also found that the energy consumption of computing preference was influenced when the maximum tolerance time equals 0.01 and 0.02 s.In the state of multi-user scenario, the user pairing algorithm can decrease the energy consumption by allocating users into the suitable sub-channels.They especially compared the average execution time of the user pairing algorithm and comprehensive search-based algorithm.They found out the suggested pairing algorithm can contend as a low-complexity near-optimal algorithm.

A study on resource allocation based on evolutionary optimization methods
Nowadays, many consumers require resources such as devices, memory, processors, operating systems, etc., on a cost model under pay-as-you-go, and meeting these requirements is extremely grueling.
For instance, providers need to use the infrastructure as a service to meet the requirements in a cloud computing environment.Meanwhile, the efficiency and effectiveness of cloud computing should be straightly compatible with the impressive utilization of resources.The main challenge in the cloud environment is changing consumers' requests to access unspecified resources so that resource request management becomes more difficult.Hence, the search algorithms such as round-robin, Throttled, etc., have been utilized for resource management and task scheduling.These algorithms are based on rules and sustain under-exploitation of resources, leading to total delay in executing the tasks.Furthermore, evolutionary optimization techniques such as particle swarm optimization, ant colony optimization, Cat Swarm Optimization (CSO), etc., are more appropriate for solving resource allocation problems that lay under NP-hard [79][80][81][82].
Due to the computing environments specified in Figure 3, we summarize the state-of-the-art Evolutionary optimization methods for resource allocation problems available in the literature.
In a study by Lee et al. [83], a Heuristic Genetic Algorithm (HGA) has been presented to solve the resource allocation problem, which means allocating resources to activities to optimize fitness as much as possible.Various genetic algorithms have been investigated, and a heuristic genetic algorithm has been developed to improve the convergence rate of resource allocation problems.The results have indicated that the proposed algorithm has the best performance compared to the existing search algorithms such as Order Representation Approach (ORA) and Simulated Annealing (SA) to enhance the search efficiency.It should be noted that in their study, the network computing environment has not been considered.
Lee and Lee [84] have proposed a hybrid search algorithm with heuristics to address resource allocation problems so that the advantages of the Ant Colony Optimization (ACO) algorithm and Genetic Algorithm (GA) have been used to explore the search space and obtain the best solution.The results have demonstrated that the suggested hybrid approach achieves better performance than evolutionary algorithms such as ACO, GA, and Simulated Annealing.It should be noted that their study was conducted without considering network computing environments.
In research by Liu et al. [85], the definition and architecture of the FC and its differences with other similar computing platforms have been studied.In the first stage, the architecture of the FC has been presented in both computational and network aspects.In the second stage, a framework has been proposed for resource allocation and delay decrease.Privacy and fault tolerance have also been taken into account in this framework with the optimization methods.Finally, the proposed framework has been evaluated using an application scenario and genetic algorithm combined with a Dirichlet distribution approach in the FC environment.As a result, the proposed approach has the best performance in terms of reducing the latency, optimizing the resource allocation, and subtask scheduling.
Rafique et al. [34] have presented a Novel Bio-Inspired Hybrid Algorithm (NBIHA), including a combination of Modified Particle Swarm Optimization (MPSO) algorithm and Modified Cat Swarm Optimization (MCSO) algorithm.The developed method consists of task scheduling and resource allocation in fog computing to optimize resource utilization and minimize response time and processing costs.MPSO algorithm is used for task scheduling, and as a result, an effective load balance is created between fog nodes.Also, a combination of bio-inspired algorithms is utilized to attain efficient resource allocation.Experimental results have shown that the proposed method leads to the optimization of resource utilization and reduction of response time and power consumption compared to the latest benchmark scheduling algorithms such as the first come first served algorithm and shortest job first algorithm.
In a study by Kim and Ko [86], a service resource allocation approach has been proposed to minimize data transfer between mobile devices of users and efficiently address the restrictions in IoT environments.In this research, the resource allocation problem has somehow become a degree-constrained minimum spanning tree.A genetic algorithm has been used to decrease the required time to find a near-optimal solution.A fitness function and an encoding method have also been defined to use the genetic algorithm effectively.According to this study, the proposed approach has reached a success rate of 97% when applied to achieve near-optimal solutions.Moreover, much less time is needed compared to the brute force scheme.
Li et al. [24] have investigated task scheduling and heterogeneous resource allocation problems for multiple devices in the FC-IoT environment.In their study, a Non-Orthogonal Multiple Access (NOMA) deployment in IoT networks has been considered to support a large number of device connections and transmit a large amount of data with low latency and limited resources.It enables multiple IoT devices to send data simultaneously, optimize resource blocks allocation, and send the power of various IoT devices regarding related QoS requirements.In addition, the optimization problem has been formulated as a mixed-integer nonlinear programming problem to reduce the system energy consumption.As this problem is an NP-hard problem, the Improved Genetic Algorithm (IGA) has been introduced to deal with it.Simulation results have shown that the suggested approach effectively performs in terms of energy consumption, outage probability, average delay, and throughput in the FC-IoT environment.
In a study by Chimakurthi [87], the problem of QoS constrained resource allocation has been considered.Consumers desire to host their applications on a cloud provider with certain service level agreements for performances such as response time and throughput.Because the application-hosted data centers consume large amounts of energy and incur high operating costs, the energy efficiency mechanism has been proposed that allocates cloud resources to applications without breaking service level agreements utilizing the ant colony framework.
Han et al. [88] have proposed an online optimizer based on genetic algorithms in 5G networks.The presented method has coded the slicing strategies into binary sequences to deal with the request and decision mechanism without prior knowledge of the utility model.Consequently, it supports heterogeneous slicings by having full efficiency and great strength versus high scalability and nonstationary service scenarios.
Tang et al. [89] have investigated the problem of optimizing energy efficiency for the downlink two-tier HetNets consisting of a single macro-cell and multiple pico-cells.The resource allocation problem of energy efficiency is a mixed combinatorial and non-convex optimization problem that is very difficult to solve.Therefore, to reduce the computational complexity, the main problem with multiple inequality constraints has been analyzed in the multiple optimization problems with single inequality constraints.A two-layer resource allocation algorithm based on the energy efficiency quasiconcavity property has been proposed, in which an inner layer has been designed to obtain the maximum energy efficiency for a specified achievable rate, and an outer layer has been designed to reach the optimal energy efficiency through a gradient-based algorithm.Simulation results have confirmed the theoretical achievements and have shown that the suggested resource allocation algorithm can effectively achieve the desired energy efficiency in HeTNets.
In a study by Liu et al. [90], a genetic algorithm has been presented for resource allocation.In the proposed model, a new crossover operator has been developed to prevent the production of illegal chromosomes.Their model is capable of providing an optimal solution for the resource allocation problem.It should be noted that they have not considered the network computing environment for the resource allocation problem.
In a study by Zhang et al. [91], a Joint cloud and wireless Resource Allocation algorithm based on Evolutionary Game (JRA-EG) has been developed considering energy consumption and time delay of mobile terminals, and also, the monetary cost in the MEC environment.In their study, the stability of the evolutionary game model has been analyzed, and the evolutionary equilibrium is obtained by the replicator dynamic method in the MEC.The simulation results of the proposed approach have illustrated that the JRA-EG algorithm can converge to evolutionary equilibrium very fast, and in comparison with existing algorithms, can reduce time delay and energy consumption when the size of the input data becomes larger.
Zheng and Wang [92] have proposed a Pareto-based Fruit Fly Optimization Algorithm (PFOA) to address the problem of Task Scheduling and Resource Allocating (TSRA) in Cloud Computing (CC) environment.First, a heuristic has been proposed based on the least cost property to initialize the population.Second, a resource reassign operator has been designed to generate non-dominated solutions.
Third, a critical path-based search operator has been designed to enhance the exploitation capability.Furthermore, the non-dominated categorizing method has been applied based on the concept of Pareto optimal, and visual memory has been used by the PFOA to address multiple goals to solve the TSRA problem.Lastly, the efficiency of the PFOA has been illustrated through comparative results and statistical analysis utilizing several test examples in the CC environment.As a result, using the proposed PFOA, the Cmax (Cmax represents the dominance communication amid solutions in two sets) is decreased by 13.5% in instance one and 41.2% in instance two to optimize the makespan.Also, 3.2% in instance one and 8.8% in instance two are saved to optimize the total cost.
Guddeti and Buyya [93] have proposed a new hybrid Bio-Inspired heuristic algorithm, including MPSO combined with MCSO algorithm.The MPSO algorithm has been utilized for task scheduling and allocating to the virtual machines effectively.The hybrid MPSO-MCSO algorithm has been used for resource allocation and management based on the demanded tasks in the cloud computing environment.
As a result, using statistical hypothesis analysis, the proposed hybrid algorithm compared to the previous research and benchmark algorithms such as Exact algorithm based on branch-and-bound technique, Round Robin (RR), CSO, MPSO, and ACO performs better by improving reliability and flexibility, reducing execution time and average response time, and also increasing the efficient utilization of cloud resources by almost 12%.Moreover, the presented MPSO algorithm is more effective in terms of task scheduling in comparison with the mentioned algorithms in the CC environment.
Arianyan et al. [94] have proposed an effective resource allocation scheme using genetic algorithms in cloud computing.In the experiments, they have considered various parameters influencing final decision as an input to the resource allocation algorithm, and have examined their impact on different test scenarios.
The results have shown that considering the Virtual Machine (VM) parameter in the decision algorithm saves more operating and maintenance costs.Also, the "best fit" scenario desires to have more vacant Physical Machines (PMs) and turn off such PMs and the "most available resource" scenario desires to map VMs on PMs with more available resources to reduce applications' response time.
Beloglazov et al. [95] have investigated energy-aware resource allocation for effective management of data centers in cloud computing by presenting two algorithms, called Modified Best Fit Decreasing (MBFD) and Minimization of Migrations (MM) algorithms to achieve the minimum processor capacity for the selected virtual machine.Furthermore, compared to static resource allocation techniques, their approach reduces energy consumption costs associated with cloud data centers, which ultimately prevents breaches of service level agreements.
Cao et al. [96] have developed a Cost-Oriented Model (COM) for optimal cloud computing resource allocation applying comprehensive numerical cases based on an actual pricing system for Amazon's public cloud for demand-side management.They have considered load specifications of computing applications and samples' features for cloud computing.To solve the COM model of the optimization problem, they have utilized two algorithms, including Modified Priority List (MPL) and Simulated Annealing (SA) algorithms.The MPL algorithm performs much more efficiently than the SA algorithm in solving the COM model with or without considering uncertainty.Also, the proposed COM model has acceptable performance in terms of minimum operational costs in the field of smart grids.
Mata and Guardieiro [97] have proposed an approach based on a GA for resource allocation in LTE uplink.The performance of the presented algorithm has been compared to uplink scheduling algorithms such as Recursive Maximum Expansion (RME), Riding Peaks (RP), and RR in a simulation environment with video chat transfer scenarios.The results have demonstrated that the GA-based approach provides better video quality in evaluation scenarios than the scheduling algorithms.Also, the proposed GA can be an important tool in LTE uplink resource allocation in all variables.Moreover, the GA algorithm performance is better than the RME, RP, and RR as the cumulative distribution function of the end-to-end delay is investigated.By using the GA algorithm, nearly 90% of the 60 users studied delay up to 250 ms.
In contrast, this value reduces to 40% for RP and RME algorithms, and also, the RR algorithm stands at 7%.
Hachicha et al. [98] have used a genetic algorithm for QoS-aware configurable resource allocation in cloud-based Business Processes that best fits tenant requirements regarding elasticity and shareability and optimizes the quality of service characteristics.The experimental results have illustrated that the suggested GA-based algorithm performs better than linear integer programming in a scenario where a large number of cloud resources exists.Moreover, using the proposed algorithm, when the number of resources of the cloud reaches 16-20, it can save computation time efficiency nearly constant.At the same time, linear integer programming accomplishes a very high growth.
Ma et al. [99] have proposed a fog computing model based on the multi-layer IoT, called IoTbased Fog Computing Model (IoT-FCM), which allocates resources between the fog layer and terminal layer using a genetic algorithm.They have used a multi-sink version based on the Least Interference Beaconing Protocol (LIBP) [100][101][102] to decrease energy consumption and increase fault tolerance in the terminal layer.The simulation results have shown that the IoT-FCM model performs better than two max-min algorithms, including fog-oriented max-min algorithm and conventional max-min algorithm.This model reduces the distance between fog nodes and terminals by 38% compared to the fog-oriented max-min algorithm and by 55% compared to the conventional max-min algorithm.In addition, the proposed model decreases energy consumption by 150 KWh compared to the two maxmin algorithms and modifies the LIBP by adding multiple sinks.
Kumar et al. [103] have used a bio-inspired Cuckoo search algorithm for performance and poweraware resource allocation in a cloud computing environment to improve energy efficiency for cloud infrastructures.According to the simulation results, the developed approach compared to the firstfit decreasing algorithm leads to approximately 12% savings in energy consumption and improves the QoS.[104] have proposed an optimal resource allocation approach for data-intensive workloads utilizing Topology-Aware Resource Allocation (TARA) and have applied an architecture under the "what if" methodology [105] using IaaS to address the optimal resource allocation problem in the cloud computing environment.The architecture has used a prediction engine with a MapReduce simulator to estimate the performance of a specific resource allocation.An evolutionary algorithm has been presented including a genetic algorithm and an evolution strategies algorithm to achieve an optimal solution in an ample search space, which leads to an optimal resource allocation with high reliability and low latency.

Rao and Cornelio
The proposed approach can reduce TARA completion time compared to the simple allocation policies and it also makes resource allocation more efficient due to the existence of the two levels of algorithms performed in the prediction engine.
Akintoye and Bagula [106] have improved the QoS level in Cloud/Fog Computing (CC/FC) environment using an effective resource allocation strategy via designing two models.they have used the Hungarian Algorithm-Based Binding Policy (HABBP) model as an innovative solution to the linear programming problem, which is a load balancing policy for binding cloudlets to virtual machines.Also, another model, called Genetic Algorithm-Based Virtual Machine Placement (GABVMP) has been performed to solve and optimize VMs placement in the cloud computing environment.The results have shown that the GABVMP achieves better performance compared to the greedy heuristic algorithms, i.e., first-fit placement algorithm and random placement algorithm in terms of the consumption of Physical Machine-Switch links that is under the cost of placing VMs on PMs in the data center.In general, the Quality-of-Service has been improved regarding the allocation cost in (CC/FC) environment.
Tsai [107] has proposed an efficient algorithm called Search Economics (SE) for IoT Resource Allocation (SEIRA) to solve resource allocation problems.For the hybrid SEIRA algorithm, he has utilized the concepts of meta-heuristic algorithm, i.e., SE [108], and data clustering algorithm, i.e., Kmeans [109], to deal with IoT resource allocation problems and to decrease the total communication cost between devices and gateways, as well as computational time during the convergence process for the meta-heuristic algorithm used in an IoT environment.The simulation results have demonstrated that the suggested hybrid SEIRA algorithm provides much better performance than the resource allocation algorithms, e.g., Simulated Annealing algorithm and Genetic Algorithm, regarding total data communication costs.
Sangaiah et al. [110] have used Whale Optimization Algorithm (WOA) [111] to deal with resource allocation problems in the IoT to optimize resource allocation and decrease overall communication cost between gateways and resources.The results of comparing the presented algorithm with the Genetic Algorithm and SEIRA algorithm have indicated the proper performance of the WOA so that according to different benchmarks, the performance of the WOA outperforms the two mentioned algorithms regarding total communication cost in the IoT environment.
Chaharsooghi and Kermani [112] have used a modified ACO algorithm [113] for a multiobjective Resource Allocation Problem (MORAP).They have tried to improve the efficiency and effectiveness of the algorithm via enhancing the learning of ants.The result of comparing the developed ACO algorithm with the Hybrid Genetic Algorithm (HGA), which was employed to MORAP, has shown that the ACO-based method performs better than the genetic algorithm on a group of MORAP problems.Also, the presented ACO algorithm is better than the HGA in 50% of the non-dominated solution.It should be noted that they have not considered the network computing environment for the multi-objective resource allocation problem.
Choi and Lim [114] have proposed a new winner determination algorithm with an investigation for deadline constraints of jobs in a combinatorial auction mechanism for efficient resource allocation and reduction of the penalty cost in the CC-IoT.In their study, the execution time constraint for each job has been considered as the service level agreement constraint in the system.Based on the proposed system, the winners in each auction round have been determined under the job necessity according to the execution time deadline.The proposed approach for determining the winner of the auction has been compared with the typical mechanism.The results have indicated that the proposed optimization approach leads to the maximum profit of the provider by considering penalty cost for service level agreement violations, and also reduces the penalty cost by considering time limits of execution for optimal resource allocation in cloud computing environment utilizing actual workload data.
Yan et al. [115] have proposed two optimal resource allocation schemes of the heterogeneous resource allocation for asynchronous Multiple Targets Tracking (MTT) applications in HRNs.The first scheme aims for minimizing the overall resource consumption by achieving the predefined MTT Bayesian Cramér-Rao Lower Bound (BCRLB) thresholds and satisfying system resource budgets.Also, the second scheme is designed to minimize the overall MTT BCRLB and maximize the total MTT accuracy for the given resource budgets.Then the heterogeneous resource allocation schemes are formulated as two convex optimization problems.Two methods such as the dual ascent method and the block coordinate descent method are designed to solve the problems.As a result, the heterogeneous resource allocation procedures may reach a smaller overall MTT BCRLB for specified resource budgets or need fewer resources to provide the identical tracking performance for multiple targets in HRNs.

Discussion
Resource allocation problem in computing environments is raised as one of the categories of resource management [39].Resource allocation is applied to help execute complex and extensive tasks that need large-scale computing using computing resources available in the network.The most important feature of a distributed computing environment is providing fair resource allocation for resource users.The challenge that computing system users face is to utilize resources in real-time and fairly.Service providers in these systems use various approaches to address problems such as resource utilization delay, high costs, and high jitter, as well as appropriate machines and platforms that must be installed in computing systems to increase the quality of services.Moreover, an efficient resource allocation algorithm assigns resources to tasks so that the energy efficiency is increased in the data centers, and the period is decreased by reducing latency.Due to the increasing growth of new computing technologies, many of these problems have been, to a large extent, solved.In this article, we have investigated many of these computing technologies in the field of resource allocation using two categories of game theory and evolutionary optimization approaches.
Consequently, in this section, the articles on resource allocation in different computing environments have been reported.Initially, the number of survey articles have been presented in the field of resource allocation by their publication year in Figure 4.Then, we have dealt with the applications of two categories of game theory and evolutionary optimization approaches for resource allocation in various computing environments.To the best of our knowledge, we have reviewed all the published survey articles on resource allocation optimization.According to Figure 4, the first survey article was published in 2009, and the latest one was published in 2021.Investigating Figure 4, we realize the importance of resource allocation considering the number of published articles.Most of the published survey articles on resource allocation date back to 2014, when 4 articles were published.From 2014 onwards, the number of published articles has gradually decreased until 2021, when the number of survey articles published on resource allocation has become one.
One of the critical specifications of our survey article compared to previous survey articles on resource allocation is that we have investigated a variety of computing environments.However, in most of the recently published survey articles, only one distributed computing environment has been considered.A summary of the published survey articles on resource allocation is given in Table 1.
According to Table 1, we can argue that none of the previous survey articles have considered the different resource allocation problems in various computing environments comprehensively.
In our study, we have reviewed the latest research articles published in journals on resource allocation problems regarding a wide range of computing environments based on two categories of approaches; game theory and evolutionary optimization approaches.Some articles have not explicitly described future research areas on resource allocation, while prospects of future researches have been stated in the present study.
Therefore, we have reviewed the latest research articles in the field of resource allocation on various computing environments using two categories of approaches, game theory and evolutionary optimization, as presented in Tables 2 and 3, respectively.Based on Tables 2 and 3, the most common problems related to resource allocation are ordered with the following:  Improve the QoS of resources  The low energy and power consumption  Decrease the computational complexity  Increase the long-term utility of the computing environments  Minimize the average response time, computation time, and latency  Decrease overall cost in the computing environments On the other hand, the difference between game theory and evolutionary optimization methods, according to Tables 2 and 3, is to achieve Nash equilibrium using game theory-based Stackelberg game framework.
Moreover, the items such as reliability, flexibility, scalability, the distance between fog nodes and terminals, and the data transmissions between gateways are considered for the evolutionary optimization methods.In general, optimization methods cannot provide a suitable solution for resource allocation problems in different computing environments [32,37].
In summary, in Figures 5 and 6, we illustrate the number of the published articles in recent years for the two approaches.According to Figure 5, we have presented research articles in the field of resource allocation on various computing environments using game theory models.We have observed that the first article was published in 2014, while the latest one was published in 2020.
The most published articles on resource allocation date back to 2014, with 5 published articles.In 2015, 2016, 2017, and 2018, the numbers of the published articles were two, four, three, and two, respectively.Also, in 2020, three articles have been published on resource allocation.Finally, one article has been accomplished in 2021.In Figure 6, the published research articles in resource allocation on various computing environments using evolutionary optimization methods have been presented.The first and latest articles were published in 2011 and 2020, respectively.The most published articles on resource allocation date back to 2016, 2017, and 2019 with four articles equally.Also, one article was found in 2011 and 2014 equally.Furthermore, in 2012, the number of articles reached three.In 2015 and 2018, two articles were published uniformly.
Finally, in 2020, two articles were performed.Furthermore, the number of published survey articles on resource allocation available in the database of various journals is presented in Table 4.  4, the number of published survey articles on resource allocation is identical for the three databases, including IEEE Xplore, Springer, and Science Direct.In addition to the journals of these databases, in other journals such as University of British Columbia Technical Report for Computer Science, Journal of Software, International Journal of Advanced Computer Science and Applications, and International Journal of Machine Learning and Computing, one survey article has been published in each on the subject of resource allocation.Therefore, in this study, most of the articles among the 20 investigated survey articles are journal articles for resource allocation problems in the computing environment.

Number of Papers Year
Moreover, the number of research articles on resource allocation available in the database of various journals is presented based on game theory and evolutionary optimization approaches in Tables 5 and 6, respectively.5 and 6, in this study, out of 44 published research articles on the game theory and evolutionary optimization approaches, the highest number of articles has been published in the IEEE Xplore database.

Summary of challenges from studied researches
In this section, the fundamental problems related to resource allocation of the game theory and evolutionary optimization approaches in different computing environments have been described with the following items: 1) Game theory models In studies related to game theory models, the energy consumption, the quality of service, the reach a Nash equilibrium point of the game, the computational complexity, and the average response time were investigated as crucial problems for resource allocation in computing environments.Also, most of the game theory models support good convergence.
 Deep learning-based methods are required to be considered in terms of delay and energy consumption such as deep reinforcement learning, supervised learning, and unsupervised learning underlying a Stackelberg game framework for validating the cloud/fog/edge computing environments' performance [116][117][118].
 The reliability and scalability parameters are needed to be investigated on the Stackelbergbased game in computing environments.
2) Evolutionary optimization methods The evolutionary optimization methods are lead to improvement of the QoS, reduce the latency, decrease the energy consumption, processing cost of execution, decrease the computational complexity, reduce the total communication cost between devices and gateways, and increase the scalability in computing environments.
 After reviewing the articles, we found that in the results related to the optimization of resource allocation using evolutionary optimization methods, there is no achievement of Nash equilibrium.So, the use of evolutionary optimization methods for determining Nash equilibrium needs to be considered by researchers.
 The optimization methods such as the MPSO in combination with the MCSO algorithm, IGA, Ant colony, Cuckoo search algorithm, and WOA have been used in different resource allocation problems.These methods are not capable of achieving an optimal solution for resource allocation problems in computing environments.Also, the mentioned methods have the restrictions of lower convergences.

Conclusions and future work
In this article, a survey of the state-of-the-art on resource allocation problems using game theory and evolutionary optimization approaches accomplishes in various computing environments.The crucial goal of the mentioned approaches is to improve QoS due to the expected requirements for users.The other advantages of the approaches are low energy consumption, the minimum average response time, and low computational complexity.Besides, the main problem for the optimal allocation of resources using game theory models is to achieve Nash equilibrium, which the most common solution is to use the Stackelberg game framework.However, the Nash equilibrium problem was not performed by researchers using the optimization methods on resource allocation in computational environments.Hence, the structure of this article is a way that first, the previous survey articles have been reviewed.Second, we compared our survey article with others' work, as shown in Table 1.According to Table 1, it can be concluded that our survey article is better than previous survey articles due to considering a wide range of computing environments on different resource allocation problems.Then, the published research articles on resource allocation have been reviewed using two categories of game theory and evolutionary optimization approaches for computing environments, as presented in Tables 2 and 3.In these tables, the columns of the number of citation-publisher, technique, computing paradigms, and results have been considered.In addition, the objectives and results of each article in solving the resource allocation problems utilizing game theory and evolutionary optimization approaches in intelligent computing environments have been studied.Another advantage of this article is the number of survey articles by their publication year, as demonstrated in Figure 4, which indicates the importance of the resource allocation problem in academic researches.Finally, the number of the published research articles on resource allocation using game theory and evolutionary optimization approaches has been illustrated in Figures 5 and 6, respectively, based on their publication year.As future work, artificial intelligence-based methods, including machine learning and deep learning for various resource allocation problems in computing environments, can be considered.In particular, deep learning-based methods are proposed, including deep reinforcement learning, deep convolutional neural network, autoencoder neural networks, and generative adversarial networks in resource allocation problems.Also, control theory-based approaches for different categories of resource management, including resource allocation, resource scheduling, task offloading, application placement, load balancing, and resource provisioning in multiple computing environments, will be the subjects of our studies.

Figure 3 .
Figure 3.The game theory and evolutionary optimization approaches for resource allocation in various computing environments.

Figure 4 .
Figure 4.The number of survey articles on resource allocation between 2009 and 2021.

Figure 5 .
Figure 5.The number of research articles on resource allocation based on game theory models between 2014 and 2021.

Figure 6 .
Figure 6.The number of research articles on resource allocation based on evolutionary optimization methods between 2011 and 2020.

Table 4 .
The number of survey articles published on existing resource allocation in the database of various journals.Number of published review articles Journal

Table 1 .
Review of the published survey articles on resource allocation problem.

Table 2 .
Review of the published research articles based on Game Theory models for resource allocation problems.

Table 3 .
Review of the published research articles based on Evolutionary optimization methods for resource allocation problems.Continued on next page Volume 18, Issue 6, 9190-9232.

Table 5 .
The number of research articles published on available resource allocation based on Game theory models from the database of various journals.

Table 6 .
The number of research articles published on available resource allocation based on Evolutionary optimization methods from the database of various journals.