  Energy disaggregation, known in the literature as Non-Intrusive Load
Monitoring (NILM), is the task of inferring the energy consumption of each
appliance given the aggregate signal recorded by a single smart meter. In this
paper, we propose a novel two-stage optimization-based approach for energy
disaggregation. In the first phase, a small training set consisting of
disaggregated power profiles is used to estimate the parameters and the power
states by solving a mixed integer programming problem. Once the model
parameters are estimated, the energy disaggregation problem is formulated as a
constrained binary quadratic optimization problem. We incorporate penalty terms
that exploit prior knowledge on how the disaggregated traces are generated, and
appliance-specific constraints characterizing the signature of different types
of appliances operating simultaneously. Our approach is compared with existing
optimization-based algorithms both on a synthetic dataset and on three
real-world datasets. The proposed formulation is computationally efficient,
able to disambiguate loads with similar consumption patterns, and successfully
reconstruct the signatures of known appliances despite the presence of
unmetered devices, thus overcoming the main drawbacks of the optimization-based
methods available in the literature.
