A method for optimizing and controlling the energy consumption of a building, the method characterized by comprising: generating, by a first computing device, a plurality of thermal response coefficient sets for the building based on energy characteristics of the building and weather data associated with the location of the building, wherein each thermal response coefficient set is generated for a different projection of weather conditions at the location of the building for a given time period, including: receiving, by the first computing device, an indoor air temperature of the building; inferring, by the first computing device, physical structure data of the building based upon the location of the building; determining, by the first computing device, a transient temperature within one or more walls of the building based upon indoor air temperature and the weather data associated with the location of the building; and adjusting, by the first computing device, the physical structure data based upon the transient temperature; and generating, by the first computing device, the plurality of thermal response coefficient sets for the building based upon the adjusted physical structure data; predicting, by the first computing device, energy responses of the building, each energy response based on a different set of thermal response coefficients; selecting, by the first computing device, minimal energy requirements of the building based on an energy consumption cost associated with the building; determining, by the first computing device, a series of temperature set points for the building based on each predicted energy response and the minimal energy requirements; and transmitting, by the first computing device, the series of temperature set points to a thermostat of the building. generating, by a first computing device, a plurality of thermal response coefficient sets for the building based on energy characteristics of the building and weather data associated with the location of the building, wherein each thermal response coefficient set is generated for a different projection of weather conditions at the location of the building for a given time period, including: receiving, by the first computing device, an indoor air temperature of the building; inferring, by the first computing device, physical structure data of the building based upon the location of the building; determining, by the first computing device, a transient temperature within one or more walls of the building based upon indoor air temperature and the weather data associated with the location of the building; and adjusting, by the first computing device, the physical structure data based upon the transient temperature; and generating, by the first computing device, the plurality of thermal response coefficient sets for the building based upon the adjusted physical structure data; receiving, by the first computing device, an indoor air temperature of the building; inferring, by the first computing device, physical structure data of the building based upon the location of the building; determining, by the first computing device, a transient temperature within one or more walls of the building based upon indoor air temperature and the weather data associated with the location of the building; and adjusting, by the first computing device, the physical structure data based upon the transient temperature; and generating, by the first computing device, the plurality of thermal response coefficient sets for the building based upon the adjusted physical structure data; predicting, by the first computing device, energy responses of the building, each energy response based on a different set of thermal response coefficients; selecting, by the first computing device, minimal energy requirements of the building based on an energy consumption cost associated with the building; determining, by the first computing device, a series of temperature set points for the building based on each predicted energy response and the minimal energy requirements; and transmitting, by the first computing device, the series of temperature set points to a thermostat of the building.