  This paper formulates a Stackelberg game between a coordination agent and
participating homes to control the overall load consumption of a residential
neighborhood. Each home optimizes a comfort-cost trade off to determine a load
schedule of its available appliances in response to a price vector set by the
coordination agent. The goal of the coordination agent is to find a price
vector that will keep the overall load consumption of the neighborhood around
some target value. After transforming the bilevel optimization problem into a
single level optimization problem by using Karush-Kuhn-Tucker (KKT) conditions,
we model how each home reacts to any change in the price vector by using the
implicit function theorem. By using this information, we develop a distributed
optimization framework based on gradient descent to attain a better price
vector. We verify the load shaping capacity and the computational performance
of the proposed optimization framework in a simulated environment establishing
significant benefits over solving the centralized problem using commercial
solvers.
