1. An application processing system for placing applications and their associated data into a colocation data center, the application processing system comprising: a memory; a processor communicatively coupled to the memory; and an application placement module communicatively coupled to the memory and the processor, wherein the application placement module is configured to perform a method for placing applications and their associated data into a data center, the steps of a method comprising: constructing a facility communication node graph; constructing a composite elastic map which represents the compute nodes in the colocation data center; associating a force function between two nodes based on communication bandwidth; constructing an application usage data space; inserting the node graph into the application data space; assigning the applications to the compute nodes; associating a force function between each application and each compute node based on the assignment; determining an elastic map energy (EME) for the elastic map, wherein the EME is the total energy of the system; and assigning the real-world applications to the real-world compute nodes in the data center if the EME is less than a threshold energy.