1. A method for optimizing power consumption of a data center by dynamic workload adjustment, said method comprising: a processor of a computer system receiving inputs from the data center, the data center comprising at least one device, said inputs comprising a physical device map, and a current application map, wherein the physical device map specifies three-dimensional locations of said at least one device within the data center, and wherein the current application map specifies how application programs of the data center are virtually mapped to said at least one device and a current workload distribution among the application programs; said processor generating at least one candidate workload solution for the data center, wherein each candidate workload solution of said at least one candidate workload solution represents a respective application map that specifies a respective virtual mapping of the application programs to said at least one device and a respective workload distribution among the application programs; said processor calculating a respective temperature profile for said each candidate workload solution by use of a thermal model, wherein a respective maximum temperature of the data center associated with the respective temperature profile determines a respective power cost of said each candidate workload solution; said processor calculating a respective performance profile for said each candidate workload solution such that the respective performance profile is evaluated against performance requirements of the data center, wherein the respective performance profile determines a respective migration cost of said each candidate workload solution; and said processor dynamically adjusting workload of the data center from the current workload distribution to an optimal workload solution, wherein the optimal workload solution is a candidate workload solution having a lowest sum of the respective power cost and the respective migration cost.