1. A method for optimizing building energy usage, the method comprising: receiving a data set comprising a plurality of input values associated with one or more buildings, said input values containing at least thermal input values and electrical input values; constructing a thermal load model based on at least the thermal input values; constructing an electrical model based on at least the electrical input values; constructing an overall energy model, the overall energy model being based on an analysis of interactive effects and trade-offs between the thermal model and the electrical models; generating a plurality of demand models based on the overall energy model; generating an on-site generation model for a power generation source located on-site with the one or more buildings, wherein generating the on-site generation model includes: generating a load predictive model for the on-site power generation source based at least on historical on-site power generation data; generating a consumption model for the on-site power generation source; and discounting the load predictive model by the consumption model to generate the on-site generation model; prioritizing a plurality of constraints, strategies and targets, wherein the constraints, strategies and targets comprise constraints, strategies and targets relating to energy management, occupant comfort, energy efficiency, demand response, and energy usage, at least one constraint, strategy or target related to use of the on-site power generation source in the one or more buildings; optimizing one or more of the plurality of demand models using complex multivariate optimization techniques, wherein optimizing is based on usage data and the prioritized constraints, strategies, and targets; and displaying recommendations based on one or more of the optimized demand models or generating realtime, complementary control instructions based on one or more of the optimized demand models.