  Cloud computing provides a computing platform for the users to meet their
demands in an efficient, cost-effective way. Virtualization technologies are
used in the clouds to aid the efficient usage of hardware. Virtual machines
(VMs) are utilized to satisfy the user needs and are placed on physical
machines (PMs) of the cloud for effective usage of hardware resources and
electricity in the cloud. Optimizing the number of PMs used helps in cutting
down the power consumption by a substantial amount.
  In this paper, we present an optimal technique to map virtual machines to
physical machines (nodes) such that the number of required nodes is minimized.
We provide two approaches based on linear programming and quadratic programming
techniques that significantly improve over the existing theoretical bounds and
efficiently solve the problem of virtual machine (VM) placement in data
centers.
