Comparative study between exact and metaheuristic approaches for virtual machine placement process as knapsack problem


In cloud computing, the virtual machine placement is a critical process which aims to identify the most appropriate physical machine to host the virtual machine. It has a significant impact on the performance, resource usage and energy consumption of the datacenters. In order to reduce the number of active physical machines in a datacenter, several virtual machine placement schemes have already been designed and proposed. This study investigates how do four different methods compare to each other in terms of accuracy and efficiency for solving the virtual machine placement as a knapsack problem. A new approach has been adopted which focuses on maximizing the use of a server’s central processing unit resource considering a certain capacity threshold. The compared methods are classified; two belong to the category of the exact methods, i.e., branch and bound and dynamic programming, while the other two represent the approximate approach, i.e., genetic algorithm and ant colony optimization algorithm. Experimental results show that the metaheuristic ant colony optimization algorithm outperforms the other three algorithms in terms of efficiency.

This is a preview of subscription content, log in to check access.

Fig. 1
Fig. 2
Fig. 3
Fig. 4
Fig. 5
Fig. 6
Fig. 7
Fig. 8


  1. 1.

    Kant K (2009) Data center evolution: a tutorial on state of the art, issues, and challenges. Comput Netw 53(17):2939–2965

    Article  Google Scholar 

  2. 2.

    Usmani Z, Singh S (2016) A survey of virtual machine placement techniques in a cloud data center. Procedia Comput Sci 78:491–498 (1st International Conference on Information Security & Privacy 2015)

    Article  Google Scholar 

  3. 3.

    Bobroff N, Kochut A, Beaty K (2007) Dynamic placement of virtual machines for managing sla violations. In: 2007 10th IFIP/IEEE International Symposium on Integrated Network Management, pp 119–128

  4. 4.

    Shawish A, Salama M (2014) Cloud computing: paradigms and technologies. Springer, Berlin, pp 39–67

  5. 5.

    Wang X, Wang Y (2011) Coordinating power control and performance management for virtualized server clusters. IEEE Trans Parallel Distrib Syst 22(2):245–259

    Article  Google Scholar 

  6. 6.

    Masdari M, Shahab Nabavi S, Ahmadi V (2016) An overview of virtual machine placement schemes in cloud computing. J Netw Comput Appl 66:106–127

    Article  Google Scholar 

  7. 7.

    Mishra SK, Puthal D, Sahoo B, Prakash Jayaraman P, Jun S, Zomaya AY, Ranjan R (2018) Energy-efficient VM-placement in cloud data center. Sustain Comput Inform Syst 20:48–55

    Google Scholar 

  8. 8.

    Choudharya A, Ranab S, Matahaic KJ (2016) A critical analysis of energy efficient virtual machine placement techniques and its optimization in a cloud computing environment. In: International Conference on Information Security & Privacy (ICISP2015), 11–12 December 2015, Nagpur, India, pp 132–138

  9. 9.

    Hassan Z, Morteza BS (2017) A method for the optimum selection of datacenters in geographically distributed clouds. J Supercomput 73(9):4042–4081

    Article  Google Scholar 

  10. 10.

    Speitkamp B, Bichler M (2010) A mathematical programming approach for server consolidation problems in virtualized data centers. IEEE Trans Serv Comput 3(4):266–278

    Article  Google Scholar 

  11. 11.

    Pisinger D (1995) Algorithms for knapsack problems. PhD thesis, Universitetsparken 1, DK-2100 Copenhagen, Denmark

  12. 12.

    Wikipedia. Np-hardness, 2018

  13. 13.

    Camati RS, Lima L Jr, Calsavara A (2014) Solving the virtual machine placement problem as a multiple multidimensional knapsack problem. In: ICN 2014: The Thirteenth International Conference on Networks

  14. 14.

    Alboaneen DA, Tianfield H, Zhang Y (2016) Glowworm swarm optimisation algorithm for virtual machine placement in cloud computing. In: 2016 International IEEE Conferences on Ubiquitous Intelligence Computing, Advanced and Trusted Computing, Scalable Computing and Communications, Cloud and Big Data Computing, Internet of People, and Smart World Congress (UIC/ATC/ScalCom/CBDCom/IoP/SmartWorld), pp 808–814

  15. 15.

    Yan Y, Jian C, Minglu L (2013) A network-aware virtual machine allocation in cloud datacenter. In: Proceedings of the 10th IFIP International Conference on Network and Parallel Computing, Volume 8147, New York, NY, USA, 2013. Springer, New York, pp 71–82

  16. 16.

    Campegiani P (2009) A genetic algorithm to solve the virtual machines resources allocation problem in multi-tier distributed systems

  17. 17.

    Al-Dulaimy A, Zekri A, Itani W, Zantout R (2017) Paving the way for energy efficient cloud data centers: a type-aware virtual machine placement strategy. In: 2017 IEEE International Conference on Cloud Engineering (IC2E), pp 5–8

  18. 18.

    Amarante SRM, Roberto FM, Cardoso AR, Celestino J (2013) Using the multiple knapsack problem to model the problem of virtual machine allocation in cloud computing. In: 2013 IEEE 16th International Conference on Computational Science and Engineering, pp 476–483

  19. 19.

    Gandhi A, Balter Mor H, Rajarshi D, Charles L (2009) Optimal power allocation in server farms. SIGMETRICS Perform Eval Rev 37(1):157–168

    Google Scholar 

  20. 20.

    Arjona J, Chatzipapas A, Anta AF, Mancuso V (2014) A measurement-based analysis of the energy consumption of data center servers, vol 3, no 4, pp 266–278

  21. 21.

    Shaheen A, Sleit A (2016) Comparing between different approaches to solve the 0/1 knapsack problem. IJCSNS Int J Comput Sci Netw Secur 16:1–10

    Google Scholar 

  22. 22.

    Maya H, Shrestha D (2004) Different approaches to solve the 0/1 knapsack problem. PhD thesis, Simpson College, Indianola, IA 50125

  23. 23.

    Blum C, Puchinger J, Raidl GR, Roli A (2011) Hybrid metaheuristics in combinatorial optimization: a survey. Appl Soft Comput 11:4135–4151

    Article  Google Scholar 

  24. 24.

    Dudzinski K, Walukiewicz S (1987) Exact methods for the knapsack problem and its generalizations. Eur J Oper Res 28:3–21

    MathSciNet  Article  Google Scholar 

  25. 25.

    Silvano M, Paolo T (1984) A mixture of dynamic programming and branch-and-bound for the subset-sum problem. Manag Sci 30:765–771

    MathSciNet  Article  Google Scholar 

  26. 26.

    Kolesar PJ (1968) A branch and bound algorithm for knapsack problem. Manag Sci 13:723–735

    Article  Google Scholar 

  27. 27.

    Anne B, Yves R, Frédéric V (2013) A guide to algorithm design: paradigms, methods, and complexity analysis. Applied algorithms and data structures series. Chapman & Hall/CRC, Boca Raton

  28. 28.

    Richard B (2010) Dynamic programming. Princeton University Press, Princeton

  29. 29.

    Shachar I, Rohit S, Armando S, Kuat Y, Yongquan L, Charles L, Rezaul C (2016) Deriving divide-and-conquer dynamic programming algorithms using solver-aided transformations. SIGPLAN Not 51:145–164

    Google Scholar 

  30. 30.

    Silver EA, Victor R, Vidal V, de Werra D (1980) A tutorial on heuristic methods. Eur J Oper Res 5(3):153–162

    MathSciNet  Article  Google Scholar 

  31. 31.

    Uwe A, Alistair C (2011) Heuristic optimisation. J Oper Res Soc 62:251–252

    Article  Google Scholar 

  32. 32.

    Baghel M, Agrawal S, Silakari S (2012) Survey of metaheuristic algorithms for combinatorial optimization. Int J Comput Appl 58(19):21–31

    Google Scholar 

  33. 33.

    Holland JH (1992) Adaptation in natural and artificial systems: an introductory analysis with applications to biology, control and artificial intelligence. MIT Press, Cambridge

  34. 34.

    Sami K, Thomas B, Jörg H (1994) The zero/one multiple knapsack problem and genetic algorithms. In: Proceedings of the 1994 ACM Symposium on Applied Computing, New York, NY, USA. ACM, pp 188–193

  35. 35.

    Chu P, Beasley J (1998) A genetic algorithm for the multidimensional knapsack problem. J Heuristics 4:63–86

    Article  Google Scholar 

  36. 36.

    Cotta C, Troya JM (1998) A hybrid genetic algorithm for the 0–1 multiple knapsack problem. Springer, Vienna

  37. 37.

    Raidl GR (1998) An improved genetic algorithm for the multiconstrained 0-1 knapsack problem. In: 1998 IEEE International Conference on Evolutionary Computation Proceedings. IEEE World Congress on Computational Intelligence (Cat. No. 98TH8360), pp 207–211

  38. 38.

    Dorigo M, Maniezzo V, Colorni A (1996) Ant system: optimization by a colony of cooperating agents. IEEE Trans Syst Man Cybern Part B (Cybern) 26(1):29–41

    Article  Google Scholar 

  39. 39.

    Dorigo M, Di Caro G (1999) Ant colony optimization: a new meta-heuristic. In: Proceedings of the 1999 Congress on Evolutionary Computation-CEC99 (Cat. No. 99TH8406), vol 2, pp 1470–1477

  40. 40.

    Shi H (2006) Solution to 0/1 knapsack problem based on improved ant colony algorithm. In: 2006 IEEE International Conference on Information Acquisition, pp 1062–1066

  41. 41.

    Zhao P, Zhao P, Zhang X (2006) A new ant colony optimization for the knapsack problem. In: 2006 7th International Conference on Computer-Aided Industrial Design and Conceptual Design, pp 1–3

  42. 42.

    Changdar C, Mahapatra GS, Pal RK (2013) An ant colony optimization approach for binary knapsack problem under fuzziness. Appl Math Comput 223:243–253

  43. 43.

    Leguizamon G, Michalewicz Z (1999) A new version of ant system for subset problems. In: Proceedings of the 1999 Congress on Evolutionary Computation-CEC99 (Cat. No. 99TH8406), vol 2, pp 1459–1464

  44. 44.

    Fidanova S (2004) Evolutionary algorithm for multiple knapsack problem

  45. 45.

    Ines A, Christine S, Khaled G (2004) Ant algorithm for the multidimensional knapsack problem. In: Proceedings of International Conference on Bioinspired Methods and Their Applications (BIOMA 2004), Slovenia, Slovenia, pp 63–72

  46. 46.

    Wikipedia (2018) Pseudo-polynomial time

  47. 47.

    Changyeon J, Youngsu C, Bernhard E (2017) A machine learning approach to live migration modeling. In: ACM Symposium on Cloud Computing, SoCC’17

  48. 48.

    Rodola G (2019) Psutil documentation

  49. 49.

    Beazley DM (2001) Python essential reference. Sams Publishing, Indianapolis

Download references

Author information



Corresponding author

Correspondence to Saloua El Motaki.

Additional information

Publisher's Note

Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.




Rights and permissions

Reprints and Permissions

About this article

Verify currency and authenticity via CrossMark

Cite this article

El Motaki, S., Yahyaouy, A., Gualous, H. et al. Comparative study between exact and metaheuristic approaches for virtual machine placement process as knapsack problem. J Supercomput 75, 6239–6259 (2019).

Download citation


  • Virtual machine placement
  • Knapsack problem
  • Exact methods
  • Approximate methods