A virtual power plant is a cloud-based distributed power plant that aggregates the capacities of heterogeneous distributed energy resources for the purposes of enhancing power generation, as well as trading or selling power on the electricity market.