BS2017 351
BS2017 351
BS2017 351
Optimization
Optimization classes represent MPC optimization
problems, with methods to setup and solve such
problems.
Figure 7 presents a basic UML class diagram showing
the relationship of Optimization classes. The
Figure 5 – Systems class diagram. Classes labelled “A” Optimization class implements methods for setting up
are abstract, “C” are concrete. and solving an MPC optimization problem. It has two
classes for a problem and an optimization package. The
Problem class contains common methods for defining an
Models optimization problem. Implementations of Problem add
Models classes represent system models that can be used specific methods to setup a particular problem type. At
for MPC optimization, with methods to simulate the
Figure 11 – RC model representing the LBNL71T test building, used for demonstration of MPCPy. The parameters
to train are shown next to each component Modelica diagram.
(b) (b)
Figure 13 – Zone mean air temperature (a) and heater Figure 14 – Zone mean air temperature (a) and heater
power (b) solutions for energy minimization of LBNL71T power (b) solutions for energy cost minimization of
RC model on Jan. 2nd. Shown in local time. LBNL71T RC model on Jan. 2nd. Shown in local time.
Past research and few demonstrations have shown that Future functionality also includes application of MPCPy
MPC can meet these new requirements. However, the at various system scopes, including the room, building,
building industry has yet to see widespread adoption of and campus levels. Development of a Modelica
MPC control systems, likely due to high setup costs and component library for MPC applications is planned by
maintenance for individual sites. To address these Wetter and Treeck (2015). Demonstrations of MPCPy at
barriers, this paper introduces a freely available open- real sites are planned to take place over the next five
source MPC platform for buildings based on open years by LBNL and collaborators. However, we hope
standards, called MPCPy, available on the LBNL that the public release provides others an opportunity to
Simulation Research Group github site at demonstrate its capabilities as well, contribute to its
https://github.com/lbl-srg/MPCPy under a modified BSD development, and create a community of users.
license. The platform emphasizes the use of adaptive The current version of MPCPy is v0.1. Development is
models, whose parameters can be learned over time with ongoing for the support of the public release, including
measured building data, and the automation of model additional features, documentation, error handling,
learning and optimization problem setup and solving. regression testing, and interface adjustments. Updates
Both of these features are expected to significantly will be released periodically according to user feedback
reduce the required system setup time and expertise. In and developer progress. To contribute to this project’s
addition, MPCPy is designed for extensibility and based development or inquiry about collaboration, visit the
on open-source standards so that new data sources, MPCPy github site or contact the authors.
model types, procedures, and problems can be added
over time without sacrificing code longevity. Acknowledgements
Immediate future work is three-fold, having to do with This research was supported by the Assistant Secretary
functionality, demonstration, and support for the public for Energy Efficiency and Renewable Energy, Office of
release. Additional functionality includes methods for Building Technologies of the U.S. Department of
real system implementation, support for additional Energy, under Contract No. DE-AC02-05CH11231.
optimization problems, such as peak load minimization, This work is funded by the U.S.-China Clean Energy
and incorporation of occupant behaviour models. Research Center (CERC) 2.0 on Building Energy
Efficiency (BEE).