Combinatorial Double Auction Winner Determination in Cloud Computing using Hybrid Genetic and Simulated Annealing Algorithm

With the advancement of information technology need to perform computing tasks everywhere and all the time there, in cloud computing environments and heterogeneous users have access to different sources with different characteristics that these resources are geographically in different areas. Due to this, the allocation of resources in cloud computing comes to the main issue is considered a major challenge to achieve high performance. Due to the nature of cloud computing is a distributed system to account, comes to business, economic methods such as auctions are used to allocate resources for decentralization. As an important economic bilateral hybrid auction model is the perfect solution for the allocation of resources in cloud computing, on the other hand, providers of cloud resources similarly, their sources of supply combined addressing. One of the problems auction two-way combination with maximum benefit for the parties to the transaction is the efficient allocation of resources to the problem of determining an auction winner is known. Given that the winning auction is NPHard. It results in a problem, several methods have been proposed to solve it. In this dissertation, taking into account the strength simulated annealing algorithm, a modified version of it is proposed for solving the winner determination in combinatorial double auction problem in cloud computing. The proposed approach is simulated along with genetic and simulated annealing algorithms and the results show that the proposed approach finds better solutions than the two mentioned algorithms. Keywords—Cloud computing; double auction; winner determination; genetic algorithm; simulated annealing


INTRODUCTION
Resource management is one of the key challenges in cloud computing and cloud data center management [1]. Most cloud providers use fixed price mechanisms to allocate resources to users. But these mechanisms do not provide an efficient and acceptable allocation of resources, and in fact cannot maximize the profitability of cloud resource providers [2], [3]. In such a situation, cloud-based economic models are suited to tune, deliver, and demand resources. An appropriate option for allocating resources in cloud computing is the use of bidding mechanisms. Among the auctioning mechanisms, the most appropriate mechanism used in cloud computing for allocation and pricing of resources is a combinatorial auction mechanism.
In this way, prices depend on the conditions of demand and supply rather than the fair exchange between cloud providers and users. Considering the above, the use of combinatorial double auction to allocate resources in cloud computing can be a very appropriate model [4]- [7]. The double auction mechanism consists of two steps. The first step is to determine the winning bidder by solving an optimization model that aims to maximize social welfare by taking into account the payment of users and the profit of the providers. The second step is the allocation and pricing of resources among the winners. However, it has been proved that the problem of winner determination of the auctions is a NP-hard problem and hence the researchers are using heuristic, metaheuristic and greedy methods to solve it [2], [8]. Considering the above issues regarding allocation of resources in cloud computing, in this paper, a modified simulated annealing algorithm has been used to determine the winner of the auction in the allocation of cloud resources. The modified simulated annealing algorithm in each step, instead of using a neighboring solution, uses several neighboring solutions. This change in the base simulated annealing algorithm leads to early convergence and improves the final solution found. In the rest of this paper, in Section 2, related works about economic models for resource allocation in cloud computing are introduced. In Section 3, formal definition of the problem is provided. The proposed mechanism is outlined in Section 4 and the simulation and experimental results are evaluated in Section 5. Finally, Section 6 concludes the paper.

II. RELATED WORKS
Economic models provide different policies and tools for allocating resources in cloud systems. In cloud computing, users compete with other users as well as resource owners with other resource owners [9], [10]. Economic models can be based on the transaction or payment of the resource price. In cloud computing, providers and owners of resources with financial incentives provide their users with cloud resources. Taking into account the points mentioned, the use of decentralized methods is a good way to manage resources in cloud computing. Economic solutions are appropriate because www.ijacsa.thesai.org they have a decentralized structure and also motivate the owners of the resources to participate in their resources in the cloud [11], [12]. Another economic model is that both the user's goals and the objectives of the owners of the resource are taken into consideration in the process of resource allocation.
To date, several market-based resource allocation models and algorithms have been proposed for cloud computing environments. In the rest of this section some of them have been discussed. Wang et al. [13] conducted a study for resource allocation using an English combinatorial auction in cloud computing environments. The resource marketing price was resolved by an English combinatorial auction model, which is concentrated principally on maximizing the seller's profit and reducing the execution time for the winner determination. In 2013 [14], a virtualized resource allocation mechanism to assign CPU resources in virtualized machines was proposed. This work tried to overcome the unfairness issue of resource allocation in cloud computing. This work is essentially concentrated on enhancing the system resource utilization, and it is not considered to be of benefit to the user and service provider.
Another deficiency of this model is that it was restricted to virtual machine and different types of resources were not considered.
Xu presented CDA-CCRA, a new cloud computing resource allocation model based on combinatorial double auction mechanism for more effective resource utilization in cloud computing [15]. The CDA-CCRA model can simultaneously satisfy the users and providers requirements and significantly reduce transactions. Sabzevari et. Al have been proposed one double combinatorial auction based resource allocation approach for cloud computing environments [2]. The main goal of their study is to allocate economic resources in a way that lead to increase social welfare. Their proposed approach uses imperialist competitive algorithm for winner determination and genetic algorithm for resource allocation and payment schemes.

III. PROBLEM DEFINITION
Auctions that bidders can offer a combination of resources has recently been taken into consideration. Compared to a non-trading auction, the combinatorial suction has a high performance. In the cloud computing environment distributed resources, including computing resources, storage resources, network bandwidth, and so on, compete with each other to execute user's work, and as a result, a combinatorial auction is appropriate for allocating resources. In double auction, both buyer and seller can submit their offers. Compared to a oneway auction in which several buyers compete for goods sold by a vendor, a double auction prevents of monopolies. The combinatorial double auction offers not only the benefits of a combinatorial auction, but also the needs of both buyers and sellers and therefore is suitable for cloud resource allocation. The purpose of the combinatorial double auction is to maximize the overall profit by taking into account this limitation that the number of units selected from the resources in the buyer's combined packages does not exceed the number of units provided by the vendors.
Suppose there is a R resource set containing k resources. After both parties offer their offers to the broker, the broker must perform the auction which is known as the winner determination of the auction problem. This problem is described in (1), (2) and (3).
The set of proposed packages is  (2) and (3) is the same as determining the winner of the auction, which is considered as programming 0-1 and is an NP-hard problem.

IV. PROPOSED APPROACH
In this section, the various stages of the proposed approach, which uses the hybrid genetic and simulated annealing algorithm to determine the winner of the auction in the allocation of cloud computing resources, is presented.

A. Hybrid Genetic and Simulated Annealing
In order to increase the efficiency of the simulated annealing algorithm, various researchers have tried to combine this algorithm with genetic algorithm using different methods, and the results of the combination of these two algorithms show an increase in efficiency. To combine these two algorithms, the total number of iteration of the hybrid algorithm is shared between the simulated annealing and genetic algorithms. The genetic algorithm performs the first half of the iteration of the hybrid algorithm and the simulated annealing algorithm uses the best chromosome of the final population of genetic algorithm as the initial solution. In addition, the simulated annealing algorithm performs the other half of the iteration of the hybrid algorithm and finally converges to the optimal solution. Considering that the simulated annealing algorithm does not start with a completely randomized solution, and in fact the best solution obtained from the genetic algorithm is considered as an initial solution for it, it will be seen a significant increase in the quality of the final solution.

B. Encoding
An important step in evolutionary algorithms is how to encode and display a solution. Each problem solution in the proposed approach is an array of binary numbers of length n, in which n is the number of offers. Array members as mentioned, there are binary numbers in which 1 means www.ijacsa.thesai.org acceptance of the offer and 0 means the denial of the relevant offer. Fig. 1 illustrates an example of a solution for eight offers.

C. Fitness Function
Fitness function is one of the important concepts in every heuristic and meta-heuristic approach. In determining the winner of the auction, the suitability of a solution is obtained from the sum of the winning bidder's bid. The fitness function is shown in (4).

D. Selection Operator
One of the methods for selecting chromosomes in the genetic algorithm is roulette wheel selection. In the proposed approach, this method is used for the selection operator. This approach is because all individuals are mapped to neighborhoods based on their fitness level. The size of the area is determined by each individual according to its fitness size and then a random number is generated and, depending on the size of the number, the individual is selected. This process is repeated so that the desired number of parents (reproductive population) is provided.

E. Crossover Operator
Genetic algorithm of the proposed approach uses uniform crossover. In uniform crossover, for each gene of a chromosome a random number is produced between 0 and 1. If the generated random number is less than 0.5, the gene is inherited from the first chromosome and otherwise it inherited from the second chromosome. The second child's chromosome is also obtained by using reverse mappings. Fig. 2 shows how to perform a uniform crossover operator on two sample chromosomes.

F. Mutation Operator
In the genetic algorithm of the proposed approach to apply the mutation operator, a random gene is selected from the chromosome, and its value, which is a binary number, is complemented. In fact, if the value of the selected gene is zero, it is converted to one and vice versa.

G. Temperature Initialization and Reduction
Initialization of temperature as well as its reduction in each iteration of simulated annealing algorithm is crucial step. The initial value of the temperature is considered T in , and (5) is used to reduce it.
In (5), α which is the coefficient of temperature reduction is a real value in the interval (0,1). If the value is close to 1, it causes a slow decrease in temperature, and thus allows the algorithm to search a large space of solutions and accepts many of the displacements to the optimal solution. After several experiments and taking into account the items mentioned in the proposed approach, the value of α is considered equal to 0.992.

H. Generation of Neighboring Solutions
The generation of neighboring solutions in the simulated annealing algorithm is generally carried out using one or more approaches from known mutation approaches. In the proposed hybrid algorithm, neighboring solutions are generated by random selecting the one component of current solution and completing its value.

V. SIMULATION AND EXPERIMENTAL RESULTS
To evaluate the proposed approach, Matlab software is used for simulation. In addition, to compare the performance of the proposed approach, genetic and simulated annealing algorithms are also simulated. To carry out all tests, a Dell computer with a Core i5, 2 GHz processor and 4 GB of main memory was used.
Taking into account the fact that the proposed method uses a hybrid meta-heuristic algorithm, the results of the convergence as well as stability experiments are presented in the rest of this section. Also, the results of the proposed approach, which is named GASA in the rest of this section, have been compared with the results of genetic algorithm (GA) and simulated annealing (SA). In the convergence experiment, GASA, SA and GA algorithms are executed for two different test scenarios, and Fig. 3 and 4 show the results. In the first scenario, the number of participants is 200, and in the second scenario, the number of participants is 500. In the graphs, the horizontal axis indicates the iteration number of the algorithm and the vertical axis shows the value of the fitness function. www.ijacsa.thesai.org The results of convergence test show that the proposed approach has a good convergence rate and finds better solutions compared to the two SA and GA algorithms.
Meta-heuristic algorithms have a nondeterministic and random nature, so it is necessary to examine the stability of these algorithms. The stability of an algorithm is whether the algorithm generates the same responses for various and different executions. To verify the stability of the GASA algorithm for the two scenarios mentioned, the algorithm is executed 20 times, and the value of the fitness function in each run is shown in Fig. 5 and 6. The horizontal axis in the diagrams shows the execution number of the algorithm and the vertical axis of the fitness value.  Examining the results of the stability test shows proper stability of the proposed approach which converges to optimal solution every time the algorithm is executed.

VI. CONCLUSION AND FUTURE WORKS
Resource management is one of the key challenges in cloud computing and cloud data center management. Most cloud providers use fixed price mechanisms to allocate resources to users. But these mechanisms do not provide an efficient and acceptable allocation of resources, and in reality they cannot maximize the profitability of cloud resource providers. In such a situation, cloud-based economic models are appropriate for the regulation, presentation and demand of resources. In this paper, combinatorial double auctioning has been used to allocate resources in cloud computing. Given the fact that the issue of determining the winner of the auction is in the category of NP-hard problems, in this paper, a combination of genetic and simulated annealing algorithms are used to solve it. The integration of two genetic and simulated annealing algorithms allows for better solutions to the problem. The results of the experiments performed in the MATLAB environment showed that the proposed approach has a good convergence rate and is also very good in terms of stability. Also, the results of experiments performed on two different scenarios showed that the proposed approach produces more suitable solutions compared to the two genetic simulated annealing algorithms.
In the future, researchers can use new meta-heuristic algorithms such as forest optimization algorithm, krill herd optimization algorithm and etc. to optimize the winner determination problem in combinatorial double auction in cloud computing.