  We consider a demand management problem of an energy community, in which
several users obtain energy from an external organization such as an energy
company, and pay for the energy according to pre-specified prices that consist
of a time-dependent price per unit of energy, as well as a separate price for
peak demand. Since users' utilities are their private information, which they
may not be willing to share, a mediator, known as the planner, is introduced to
help optimize the overall satisfaction of the community (total utility minus
total payments) by mechanism design. A mechanism consists of a message space, a
tax/subsidy and an allocation function for each user. Each user reports a
message chosen from her own message space, and then receives some amount of
energy determined by the allocation function and pays the tax specified by the
tax function. A desirable mechanism induces a game, the Nash equilibria (NE) of
which result in an allocation that coincides with the optimal allocation for
the community.
  As a starting point, we design a mechanism for the energy community with
desirable properties such as full implementation, strong budget balance and
individual rationality for both users and the planner. We then modify this
baseline mechanism for communities where message exchanges are allowed only
within neighborhoods, and consequently, the tax/subsidy and allocation
functions of each user are only determined by the messages from her neighbors.
All the desirable properties of the baseline mechanism are preserved in the
distributed mechanism. Finally, we present a learning algorithm for the
baseline mechanism, based on projected gradient descent, that is guaranteed to
converge to the NE of the induced game.
