Model predictive maintenance system with event or condition based performance

A model predictive maintenance (MPM) system for building equipment includes one or more processing circuits including one or more processors and memory storing instructions that, when executed by the one or more processors, cause the one or more processors to perform operations. The operations include obtaining one or more performance indicators for the building equipment and determining whether a trigger condition has been satisfied based on the one or more performance indicators. The operations include triggering a model predictive maintenance process to generate a maintenance schedule for the building equipment in response to determining that the trigger condition has been satisfied. The operations include initiating a maintenance activity for the building equipment in accordance with the maintenance schedule.

BACKGROUND

The present disclosure relates generally to control systems for building equipment. The present disclosure relates more particularly to control systems that use predictive modeling to determine an optimal operating strategy and maintenance strategy for building equipment.

Building equipment operate to affect various conditions in a building such as temperature, humidity, air quality, lighting, etc. Building equipment degrade over time, as a result of operating the building equipment, which leads to reduced operating efficiency and increased power consumption and cost. Performing maintenance on building equipment can restore the equipment to a less degraded state and improve the operating efficiency and thus reduce operating cost. However, performing maintenance typically incurs a maintenance cost. Therefore, choosing to perform maintenance on the building equipment reduces ongoing operating cost as a result of reduced power consumption, but incurs an additional maintenance cost. Performing maintenance too frequently may result in a low operating cost but a high maintenance cost, whereas performing maintenance too infrequently may result in a low maintenance cost but a higher operating cost. It can be difficult to determine an appropriate maintenance strategy for building equipment in the interest of reducing total life cycle cost.

SUMMARY

One implementation of the present disclosure is a model predictive maintenance (MPM) system for building equipment, according to some embodiments. In some embodiments, the MPM system includes one or more processing circuits. In some embodiments, the one or more processing circuits include one or more processors and memory storing instructions that, when executed by the one or more processors, cause the one or more processors to perform operations. In some embodiments, the operations include obtaining one or more performance indicators for the building equipment. In some embodiments, the operations include determining whether a trigger condition has been satisfied based on the one or more performance indicators. In some embodiments, the operations include triggering a model predictive maintenance process to generate a maintenance schedule for the building equipment in response to determining that the trigger condition has been satisfied. In some embodiments, the operations include initiating a maintenance activity for the building equipment in accordance with the maintenance schedule.

In some embodiments, the one or more performance indicators include at least one of an estimated current degradation of the building equipment, a predicted future degradation of the building equipment, or a performance variable of the building equipment. In some embodiments, the operations further include comparing the estimated current degradation, the predicted future degradation, or the performance variable of the building equipment to a corresponding threshold. In some embodiments, the operations further include determining that the trigger condition has been satisfied in response to the estimated current degradation, the predicted future degradation, or the performance variable crossing the corresponding threshold.

In some embodiments, the one or more performance indicators include a rate of change of at least one of an estimated current degradation of the building equipment, a predicted future degradation of the building equipment, or a performance variable of the building equipment. In some embodiments, the operations further include comparing the rate of change of the estimated current degradation, the predicted future degradation, or the performance variable of the building equipment to a corresponding threshold rate of change. In some embodiments, the operations further include determining that the trigger condition is satisfied in response to the rate of change of the estimated current degradation, the predicted future degradation, or the performance variable crossing the corresponding threshold rate of change.

In some embodiments, the operations further include determining a variance or a covariance of the performance indicators. In some embodiments, the operations further include comparing the variance or covariance to a corresponding variance or covariance threshold. In some embodiments, the method further includes determining that the trigger condition is satisfied in response to the variance or the covariance and the corresponding variance or covariance threshold.

In some embodiments, the one or more performance indicators include a previously predicted future degradation of the building equipment and an estimated current degradation of the building equipment. In some embodiments, the operations further include determining a difference between the previously predicted future degradation of the building equipment and the estimated current degradation of the building equipment for a corresponding time step. In some embodiments, the operations further include comparing the difference to a corresponding difference threshold. In some embodiments, the operations further include determining that the trigger condition is satisfied in response to the difference and the corresponding difference threshold.

In some embodiments, the operations further include receiving an output of a fault detector. In some embodiments, the fault detector is configured to receive time series data and perform at least one of a peer detection method, a temporal detection method, and an artificial intelligence detection method to generate the output. In some embodiments, the operations also include determining that the trigger condition is satisfied in response to the output indicating a fault of the building equipment.

In some embodiments, the model predictive maintenance process includes predicting a resource consumption of the building equipment over an optimization period as a function of an estimated degradation state of the building equipment. In some embodiments, the model predictive maintenance process further includes defining a cost of operating the building equipment over the optimization period as a function of the predicted energy consumption. In some embodiments, the model predictive maintenance process further includes defining a cost of performing maintenance on the building equipment over the optimization period as a function the maintenance schedule for the building equipment. In some embodiments, the model predictive maintenance process further includes optimizing an objective function including the cost of operating the building equipment and the cost of performing maintenance on the building equipment to determine the maintenance schedule.

Another implementation of the present disclosure is a method for determining optimal maintenance of building equipment. In some embodiments, the method includes obtaining one or more performance indicators for the building equipment. In some embodiments, the method includes determining whether a trigger condition has been satisfied based on the one or more performance indicators. In some embodiments, the method includes triggering a model predictive maintenance process to generate a maintenance schedule for the building equipment in response to determining that the trigger condition has been satisfied. In some embodiments, the method includes initiating a maintenance activity for the building equipment in accordance with the maintenance schedule.

In some embodiments, the one or more performance indicators include at least one of an estimated current degradation of the building equipment, a predicted future degradation of the building equipment, or a performance variable of the building equipment. In some embodiments, the method further includes comparing the estimated current degradation, the predicted future degradation, or the performance variable of the building to a corresponding threshold. In some embodiments, the method further includes determining that the trigger condition has been satisfied in response to the estimated current degradation, the predicted future degradation, or the performance variable crossing the corresponding threshold.

In some embodiments, the one or more performance indicators include a rate of change of at least one of an estimated current degradation of the building equipment, a predicted future degradation of the building equipment, or a performance variable of the building equipment. In some embodiments, the method further includes comparing the rate of change of the estimated current degradation, the predicted future degradation, or the performance variable of the building equipment to a corresponding threshold rate of change. In some embodiments, the method further includes determining that the trigger condition has been satisfied in response to the rate of change of the estimated current degradation, the predicted future degradation, or the performance variable crossing the corresponding threshold rate of change.

In some embodiments, the method further includes determining a variance or a covariance of the performance indicators of the building equipment. In some embodiments, the method includes comparing the variance or covariance to a corresponding variance or covariance threshold. In some embodiments, the method includes determining that the trigger condition is satisfied in response to the variance or the covariance crossing the corresponding variance or covariance threshold.

In some embodiments, the one or more performance indicators include a previously predicted future degradation of the building equipment and an estimated current degradation of the building equipment. In some embodiments, the method further includes determining a difference between the predicted future degradation of the building equipment and the estimated current degradation of the building equipment for a corresponding time step. In some embodiments, the method includes comparing the difference to a corresponding difference threshold. In some embodiments, the method includes determining that the trigger condition is satisfied in response to the difference crossing the corresponding difference threshold.

In some embodiments, the method further includes receiving an output of a fault detector. In some embodiments, the fault detector is configured to receive time series data and perform at least one of a peer detection method, a temporal detection method, and an artificial intelligence detection method to generate the output. In some embodiments, the method includes determining that the trigger condition is satisfied in response to the output indicating a fault of the building equipment.

In some embodiments, the model predictive maintenance process includes predicting an energy consumption of the building equipment over an optimization period as a function of an estimated efficiency of the building equipment. In some embodiments, the process includes defining a cost of operating the building equipment over the optimization period as a function of the predicted energy consumption. In some embodiments, the process includes defining a cost of performing maintenance on the building equipment over the optimization period as a function of an estimated reliability of the building equipment. In some embodiments, the process includes optimizing an objective function including the cost of operating the building equipment and the cost of performing maintenance on the building equipment to determine the maintenance schedule.

Another implementation of the present disclosure is a model predictive maintenance (MPM) controller for building equipment, according to some embodiments. In some embodiments, the MPM controller includes one or more processing circuits including one or more processors and memory storing instructions that, when executed by the one or more processors, cause the one or more processors to perform operations. In some embodiments, the operations include determining whether a trigger condition has been satisfied based on one or more time-varying inputs to the MPM controller. In some embodiments, the operations include triggering a model predictive maintenance process to generate a maintenance schedule for the building equipment in response to determining that the trigger condition has been satisfied. In some embodiments, the operations include initiating a maintenance activity for the building equipment in accordance with the maintenance schedule.

In some embodiments, the one or more time-varying inputs include at least one of an estimated current degradation of the building equipment, a predicted future degradation of the building equipment, or a performance variable of the building equipment. In some embodiments, the operations further include comparing the estimated current degradation, the predicted future degradation, or the performance variable of the building to a corresponding threshold. In some embodiments, the operations further include determining that the trigger condition is satisfied in response to the comparison between the estimated current degradation, the predicted future degradation, or the performance variable crossing the corresponding threshold.

In some embodiments, the one or more time-varying inputs include a rate of change of at least one of an estimated current degradation of the building equipment, a predicted future degradation of the building equipment, or a performance variable of the building equipment. In some embodiments, the operations further include comparing the rate of change of the estimated current degradation, the predicted future degradation, or the performance variable of the building equipment to a corresponding threshold rate of change. In some embodiments, the operations further include determining that the trigger condition is satisfied in response to the comparison between the rate of change of the estimated current degradation, the predicted future degradation, or the performance variable crossing the corresponding threshold rate of change.

In some embodiments, the operations further include determining a variance or a covariance of the time-varying inputs. In some embodiments, the operations further include comparing the variance or covariance to a corresponding variance or covariance threshold. In some embodiments, the operations further include determining that the trigger condition is satisfied in response to the variance or the covariance crossing the corresponding variance or covariance threshold.

In some embodiments, the one or more time-varying inputs include a previously predicted future degradation of the building equipment and an estimated current degradation of the building equipment. In some embodiments, the operations further include determining a difference between the previously predicted future degradation of the building equipment and the estimated current degradation of the building equipment for a corresponding time step. In some embodiments, the operations further include comparing the difference to a corresponding difference threshold. In some embodiments, the operations further include determining that the trigger condition is satisfied in response to the difference crossing the corresponding difference threshold.

In some embodiments, the operations further include receiving an output of a fault detector. In some embodiments, the fault detector is configured to receive time series data and perform at least one of a peer detection method, a temporal detection method, and an artificial intelligence detection method to generate the output. In some embodiments, the operations include determining that the trigger condition is satisfied in response to the output indicating a fault of the building equipment.

DETAILED DESCRIPTION

Referring generally to the FIGURES, systems and methods for performing model predictive maintenance (MPM) are shown, according to some embodiments. MPM can be performed for building equipment of a building to determine a maintenance and replacement strategy for the building equipment.

In order to optimize the scheduling of maintenance it is necessary to understand how degradation effects the performance of equipment. The mapping between degradation and performance can be nonlinear and have no known model form that would lend itself well to gray-box modeling. The systems and methods described herein provide a model that maps equipment degradation to operating performance using artificial intelligence (AI). Operating performance can be characterized by a model that relates the amount of resources consumed by the equipment (e.g., electricity, water, natural gas, etc.) to the amount of output resources produced by the equipment (e.g., hot water, cold water, heating load, cooling load, etc.) at a given time. Such a model can be characterized by a vector of model coefficients or parameters. The coefficients or parameters of the model may change as the equipment degrades. Accordingly, examining the relationship between degradation and model coefficients may allow for a mapping to be generated therebetween.

One example of a system in which the systems and methods of the present disclosure can be implemented is a variable refrigerant flow (VRF) system that consumes electric power to serve a heating or cooling load. A power consumption model can be used to relate the amount of power consumed by the VRF equipment to the amount of heating or cooling produced by the VRF equipment. An artificial neural network model is trained to predict values of coefficients of the power consumption model as a function of degradation state. To generate training data for the neural network model, both the degradation state and the power consumption can be estimated by the measurements collected from the VRF system. Once the neural network has been trained, the neural network can be used to predict power model coefficients as a function of the current degradation state. The power model coefficients are then used to predict the power consumption of the equipment during operation.

The predicted power consumption (or other resource consumption) can be used to perform a model predictive maintenance process to determine an optimal set of operating decisions and maintenance decisions for the equipment over a given time period. These and other features of the model predictive maintenance system are described in detail below.

In some embodiments, the MPM systems and methods are performed periodically for a building. In some embodiments, the MPM systems and methods can be performed in an event or condition driven manner. For example, various performance indicators (e.g., degradation estimations and/or predictions, fault detection, performance variables, etc.) can be monitored and used to determine if one or more events have occurred or if conditions have been satisfied. In response to the events occurring or the conditions being satisfied, the systems and methods for MPM may be initiated to determine optimal maintenance of building equipment. In some embodiments, the event or condition driven initiation of MPM results in MPM being performed at non-scheduled intervals. In some embodiments, MPM is initiated in response to a user input.

Building HVAC Systems and Building Management Systems

Referring now toFIGS.1-5, several building management systems (BMS) and HVAC systems in which the systems and methods of the present disclosure can be implemented are shown, according to some embodiments. In brief overview,FIG.1shows a building10equipped with a HVAC system100.FIG.2is a block diagram of a waterside system200which can be used to serve building10.FIG.3is a block diagram of an airside system300which can be used to serve building10.FIG.4is a block diagram of a BMS which can be used to monitor and control building10.FIG.5is a block diagram of another BMS which can be used to monitor and control building10.

Building and HVAC System

Waterside System

Although subplants202-212are shown and described as heating and cooling water for circulation to a building, it is understood that any other type of working fluid (e.g., glycol, CO2, etc.) can be used in place of or in addition to water to serve thermal energy loads. In other embodiments, subplants202-212may provide heating and/or cooling directly to the building or campus without requiring an intermediate heat transfer fluid. These and other variations to waterside system200are within the teachings of the present disclosure.

Airside System

Cooling coil334may receive a chilled fluid from waterside system200(e.g., from cold water loop216) via piping342and may return the chilled fluid to waterside system200via piping344. Valve346can be positioned along piping342or piping344to control a flow rate of the chilled fluid through cooling coil334. In some embodiments, cooling coil334includes multiple stages of cooling coils that can be independently activated and deactivated (e.g., by AHU controller330, by BMS controller366, etc.) to modulate an amount of cooling applied to supply air310.

Each of valves346and352can be controlled by an actuator. For example, valve346can be controlled by actuator354and valve352can be controlled by actuator356. Actuators354-356may communicate with AHU controller330via communications links358-360. Actuators354-356may receive control signals from AHU controller330and may provide feedback signals to controller330. In some embodiments, AHU controller330receives a measurement of the supply air temperature from a temperature sensor362positioned in supply air duct312(e.g., downstream of cooling coil334and/or heating coil336). AHU controller330may also receive a measurement of the temperature of building zone306from a temperature sensor364located in building zone306.

Building Management Systems

Each of building subsystems428can include any number of devices, controllers, and connections for completing its individual functions and control activities. HVAC subsystem440can include many of the same components as HVAC system100, as described with reference toFIGS.1-3. For example, HVAC subsystem440can include a chiller, a boiler, any number of air handling units, economizers, field controllers, supervisory controllers, actuators, temperature sensors, and other devices for controlling the temperature, humidity, airflow, or other variable conditions within building10. Lighting subsystem442can include any number of light fixtures, ballasts, lighting sensors, dimmers, or other devices configured to controllably adjust the amount of light provided to a building space. Security subsystem438can include occupancy sensors, video surveillance cameras, digital video recorders, video processing servers, intrusion detection devices, access control devices and servers, or other security-related devices.

Still referring toFIG.4, BMS controller366is shown to include a communications interface407and a BMS interface409. Interface407may facilitate communications between BMS controller366and external applications (e.g., monitoring and reporting applications422, enterprise control applications426, remote systems and applications444, applications residing on client devices448, etc.) for allowing user control, monitoring, and adjustment to BMS controller366and/or subsystems428. Interface407may also facilitate communications between BMS controller366and client devices448. BMS interface409may facilitate communications between BMS controller366and building subsystems428(e.g., HVAC, lighting security, lifts, power distribution, business, etc.).

Memory408(e.g., memory, memory unit, storage device, etc.) can include one or more devices (e.g., RAM, ROM, Flash memory, hard disk storage, etc.) for storing data and/or computer code for completing or facilitating the various processes, layers and modules described in the present application. Memory408can be or include volatile memory or non-volatile memory. Memory408can include database components, object code components, script components, or any other type of information structure for supporting the various activities and information structures described in the present application. According to some embodiments, memory408is communicably connected to processor406via processing circuit404and includes computer code for executing (e.g., by processing circuit404and/or processor406) one or more processes described herein.

In some embodiments, BMS controller366is implemented within a single computer (e.g., one server, one housing, etc.). In various other embodiments BMS controller366can be distributed across multiple servers or computers (e.g., that can exist in distributed locations). Further, whileFIG.4shows applications422and426as existing outside of BMS controller366, in some embodiments, applications422and426can be hosted within BMS controller366(e.g., within memory408).

Building subsystem integration layer420can be configured to manage communications between BMS controller366and building subsystems428. For example, building subsystem integration layer420may receive sensor data and input signals from building subsystems428and provide output data and control signals to building subsystems428. Building subsystem integration layer420may also be configured to manage communications between building subsystems428. Building subsystem integration layer420translate communications (e.g., sensor data, input signals, output signals, etc.) across a plurality of multi-vendor/multi-protocol systems.

Referring now toFIG.5, a block diagram of another building management system (BMS)500is shown, according to some embodiments. BMS500can be used to monitor and control the devices of HVAC system100, waterside system200, airside system300, building subsystems428, as well as other types of BMS devices (e.g., lighting equipment, security equipment, etc.) and/or HVAC equipment.

BMS500provides a system architecture that facilitates automatic equipment discovery and equipment model distribution. Equipment discovery can occur on multiple levels of BMS500across multiple different communications busses (e.g., a system bus554, zone buses556-560and564, sensor/actuator bus566, etc.) and across multiple different communications protocols. In some embodiments, equipment discovery is accomplished using active node tables, which provide status information for devices connected to each communications bus. For example, each communications bus can be monitored for new devices by monitoring the corresponding active node table for new nodes. When a new device is detected, BMS500can begin interacting with the new device (e.g., sending control signals, using data from the device) without user interaction.

Some devices in BMS500present themselves to the network using equipment models. An equipment model defines equipment object attributes, view definitions, schedules, trends, and the associated BACnet value objects (e.g., analog value, binary value, multistate value, etc.) that are used for integration with other systems. Some devices in BMS500store their own equipment models. Other devices in BMS500have equipment models stored externally (e.g., within other devices). For example, a zone coordinator508can store the equipment model for a bypass damper528. In some embodiments, zone coordinator508automatically creates the equipment model for bypass damper528or other devices on zone bus558. Other zone coordinators can also create equipment models for devices connected to their zone busses. The equipment model for a device can be created automatically based on the types of data points exposed by the device on the zone bus, device type, and/or other device attributes. Several examples of automatic equipment discovery and equipment model distribution are discussed in greater detail below.

Still referring toFIG.5, BMS500is shown to include a system manager502; several zone coordinators506,508,510and518; and several zone controllers524,530,532,536,548, and550. System manager502can monitor data points in BMS500and report monitored variables to various monitoring and/or control applications. System manager502can communicate with client devices504(e.g., user devices, desktop computers, laptop computers, mobile devices, etc.) via a data communications link574(e.g., BACnet IP, Ethernet, wired or wireless communications, etc.). System manager502can provide a user interface to client devices504via data communications link574. The user interface may allow users to monitor and/or control BMS500via client devices504.

In some embodiments, system manager502is connected with zone coordinators506-510and518via a system bus554. System manager502can be configured to communicate with zone coordinators506-510and518via system bus554using a master-slave token passing (MSTP) protocol or any other communications protocol. System bus554can also connect system manager502with other devices such as a constant volume (CV) rooftop unit (RTU)512, an input/output module (TOM)514, a thermostat controller516(e.g., a TEC5000 series thermostat controller), and a network automation engine (NAE) or third-party controller520. RTU512can be configured to communicate directly with system manager502and can be connected directly to system bus554. Other RTUs can communicate with system manager502via an intermediate device. For example, a wired input562can connect a third-party RTU542to thermostat controller516, which connects to system bus554.

System manager502can provide a user interface for any device containing an equipment model. Devices such as zone coordinators506-510and518and thermostat controller516can provide their equipment models to system manager502via system bus554. In some embodiments, system manager502automatically creates equipment models for connected devices that do not contain an equipment model (e.g., IOM514, third party controller520, etc.). For example, system manager502can create an equipment model for any device that responds to a device tree request. The equipment models created by system manager502can be stored within system manager502. System manager502can then provide a user interface for devices that do not contain their own equipment models using the equipment models created by system manager502. In some embodiments, system manager502stores a view definition for each type of equipment connected via system bus554and uses the stored view definition to generate a user interface for the equipment.

Each zone coordinator506-510and518can be connected with one or more of zone controllers524,530-532,536, and548-550via zone buses556,558,560, and564. Zone coordinators506-510and518can communicate with zone controllers524,530-532,536, and548-550via zone busses556-560and564using a MSTP protocol or any other communications protocol. Zone busses556-560and564can also connect zone coordinators506-510and518with other types of devices such as variable air volume (VAV) RTUs522and540, changeover bypass (COBP) RTUs526and552, bypass dampers528and546, and PEAK controllers534and544.

Zone coordinators506-510and518can be configured to monitor and command various zoning systems. In some embodiments, each zone coordinator506-510and518monitors and commands a separate zoning system and is connected to the zoning system via a separate zone bus. For example, zone coordinator506can be connected to VAV RTU522and zone controller524via zone bus556. Zone coordinator508can be connected to COBP RTU526, bypass damper528, COBP zone controller530, and VAV zone controller532via zone bus558. Zone coordinator510can be connected to PEAK controller534and VAV zone controller536via zone bus560. Zone coordinator518can be connected to PEAK controller544, bypass damper546, COBP zone controller548, and VAV zone controller550via zone bus564.

A single model of zone coordinator506-510and518can be configured to handle multiple different types of zoning systems (e.g., a VAV zoning system, a COBP zoning system, etc.). Each zoning system can include a RTU, one or more zone controllers, and/or a bypass damper. For example, zone coordinators506and510are shown as Verasys VAV engines (VVEs) connected to VAV RTUs522and540, respectively. Zone coordinator506is connected directly to VAV RTU522via zone bus556, whereas zone coordinator510is connected to a third-party VAV RTU540via a wired input568provided to PEAK controller534. Zone coordinators508and518are shown as Verasys COBP engines (VCEs) connected to COBP RTUs526and552, respectively. Zone coordinator508is connected directly to COBP RTU526via zone bus558, whereas zone coordinator518is connected to a third-party COBP RTU552via a wired input570provided to PEAK controller544.

Zone controllers524,530-532,536, and548-550can communicate with individual BMS devices (e.g., sensors, actuators, etc.) via sensor/actuator (SA) busses. For example, VAV zone controller536is shown connected to networked sensors538via SA bus566. Zone controller536can communicate with networked sensors538using a MSTP protocol or any other communications protocol. Although only one SA bus566is shown inFIG.5, it should be understood that each zone controller524,530-532,536, and548-550can be connected to a different SA bus. Each SA bus can connect a zone controller with various sensors (e.g., temperature sensors, humidity sensors, pressure sensors, light sensors, occupancy sensors, etc.), actuators (e.g., damper actuators, valve actuators, etc.) and/or other types of controllable equipment (e.g., chillers, heaters, fans, pumps, etc.).

Each zone controller524,530-532,536, and548-550can be configured to monitor and control a different building zone. Zone controllers524,530-532,536, and548-550can use the inputs and outputs provided via their SA busses to monitor and control various building zones. For example, a zone controller536can use a temperature input received from networked sensors538via SA bus566(e.g., a measured temperature of a building zone) as feedback in a temperature control algorithm. Zone controllers524,530-532,536, and548-550can use various types of control algorithms (e.g., state-based algorithms, extremum seeking control (ESC) algorithms, proportional-integral (PI) control algorithms, proportional-integral-derivative (PID) control algorithms, model predictive control (MPC) algorithms, feedback control algorithms, etc.) to control a variable state or condition (e.g., temperature, humidity, airflow, lighting, etc.) in or around building10.

Model Predictive Maintenance System

Referring now toFIG.6, a block diagram of a building system600is shown, according to an exemplary embodiment. System600may include many of the same components as BMS400and BMS500as described with reference toFIGS.4-5. For example, system600is shown to include building10, network446, and client devices448. Building10is shown to include connected equipment610, which can include any type of equipment used to monitor and/or control building10. Connected equipment610can include connected chillers612, connected AHUs614, connected boilers616, connected batteries618, or any other type of equipment in a building system (e.g., heaters, economizers, valves, actuators, dampers, cooling towers, fans, pumps, etc.) or building management system (e.g., lighting equipment, security equipment, refrigeration equipment, etc.). Connected equipment610can include any of the equipment of HVAC system100, waterside system200, airside system300, BMS400, and/or BMS500, as described with reference toFIGS.1-5.

Connected equipment610can be outfitted with sensors to monitor various conditions of the connected equipment610(e.g., power consumption, on/off states, operating efficiency, etc.). For example, chillers612can include sensors configured to monitor chiller variables such as chilled water temperature, condensing water temperature, and refrigerant properties (e.g., refrigerant pressure, refrigerant temperature, etc.) at various locations in the refrigeration circuit. An example of a chiller700which can be used as one of chillers612is shown inFIG.7. Chiller700is shown to include a refrigeration circuit having a condenser702, an expansion valve704, an evaporator706, a compressor708, and a control panel710. In some embodiments, chiller700includes sensors that measure a set of monitored variables at various locations along the refrigeration circuit. Similarly, AHUs614can be outfitted with sensors to monitor AHU variables such as supply air temperature and humidity, outside air temperature and humidity, return air temperature and humidity, chilled fluid temperature, heated fluid temperature, damper position, etc. In general, connected equipment610can monitor and report variables that characterize the performance of the connected equipment610. Each monitored variable can be forwarded to building management system606as a data point including a point ID and a point value.

Monitored variables can include any measured or calculated values indicating the performance of connected equipment610and/or the components thereof. For example, monitored variables can include one or more measured or calculated temperatures (e.g., refrigerant temperatures, cold water supply temperatures, hot water supply temperatures, supply air temperatures, zone temperatures, etc.), pressures (e.g., evaporator pressure, condenser pressure, supply air pressure, etc.), flow rates (e.g., cold water flow rates, hot water flow rates, refrigerant flow rates, supply air flow rates, etc.), valve positions, resource consumptions (e.g., power consumption, water consumption, electricity consumption, etc.), control setpoints, model parameters (e.g., regression model coefficients), or any other time-series values that provide information about how the corresponding system, device, or process is performing. Monitored variables can be received from connected equipment610and/or from various components thereof. For example, monitored variables can be received from one or more controllers (e.g., BMS controllers, subsystem controllers, HVAC controllers, subplant controllers, AHU controllers, device controllers, etc.), BMS devices (e.g., chillers, cooling towers, pumps, heating elements, etc.), or collections of BMS devices.

Connected equipment610can also report equipment status information. Equipment status information can include, for example, the operational status of the equipment, an operating mode (e.g., low load, medium load, high load, etc.), an indication of whether the equipment is running under normal or abnormal conditions, the hours during which the equipment is running, a safety fault code, or any other information that indicates the current status of connected equipment610. In some embodiments, each device of connected equipment610includes a control panel (e.g., control panel710shown inFIG.7). Control panel710can be configured to collect monitored variables and equipment status information from connected equipment610and provide the collected data to BMS606. For example, control panel710can compare the sensor data (or a value derived from the sensor data) to predetermined thresholds. If the sensor data or calculated value crosses a safety threshold, control panel710can shut down the device. Control panel710can generate a data point when a safety shut down occurs. The data point can include a safety fault code which indicates the reason or condition that triggered the shutdown.

Connected equipment610can provide monitored variables and equipment status information to BMS606. BMS606can include a building controller (e.g., BMS controller366), a system manager (e.g., system manager503), a network automation engine (e.g., NAE520), or any other system or device of building10configured to communicate with connected equipment610. BMS606may include some or all of the components of BMS400or BMS500, as described with reference toFIGS.4-5. In some embodiments, the monitored variables and the equipment status information are provided to BMS606as data points. Each data point can include a point ID and a point value. The point ID can identify the type of data point or a variable measured by the data point (e.g., condenser pressure, refrigerant temperature, power consumption, etc.). Monitored variables can be identified by name or by an alphanumeric code (e.g., Chilled Water Temp, 7694, etc.). The point value can include an alphanumeric value indicating the current value of the data point.

BMS606can broadcast the monitored variables and the equipment status information to a model predictive maintenance system602. In some embodiments, model predictive maintenance system602is a component of BMS606. For example, model predictive maintenance system602can be implemented as part of a METASYS® brand building automation system, as sold by Johnson Controls Inc. In other embodiments, model predictive maintenance system602can be a component of a remote computing system or cloud-based computing system configured to receive and process data from one or more building management systems via network446. For example, model predictive maintenance system602can be implemented as part of a PANOPTIX® brand building efficiency platform, as sold by Johnson Controls Inc. In other embodiments, model predictive maintenance system602can be a component of a subsystem level controller (e.g., a HVAC controller), a subplant controller, a device controller (e.g., AHU controller330, a chiller controller, etc.), a field controller, a computer workstation, a client device, or any other system or device that receives and processes monitored variables from connected equipment610.

Model predictive maintenance (MPM) system602may use the monitored variables and/or the equipment status information to identify a current operating state of connected equipment610. The current operating state can be examined by MPM system602to expose when connected equipment610begins to degrade in performance and/or to predict when faults will occur. In some embodiments, MPM system602uses the information collected from connected equipment610to estimate the reliability of connected equipment610. For example, MPM system602can estimate a likelihood of various types of failures that could potentially occur based on the current operating conditions of connected equipment610and an amount of time that has elapsed since connected equipment610has been installed and/or since maintenance was last performed. In some embodiments, MPM system602estimates an amount of time until each failure is predicted to occur and identifies a financial cost associated with each failure (e.g., maintenance cost, increased operating cost, replacement cost, etc.). MPM system602can use the reliability information and the likelihood of potential failures to predict when maintenance will be needed and to estimate the cost of performing such maintenance over a predetermined time period.

MPM system602can be configured to determine an optimal maintenance strategy for connected equipment610. In some embodiments, the optimal maintenance strategy is a set of decisions which optimizes the total cost associated with purchasing, maintaining, and operating connected equipment610over the duration of an optimization period (e.g., 30 weeks, 52 weeks, 10 years, 30 years, etc.). The decisions can include, for example, equipment purchase decisions, equipment maintenance decisions, and equipment operating decisions. MPM system602can use a model predictive control technique to formulate an objective function which expresses the total cost as a function of these decisions, which can be included as decision variables in the objective function. MPM system602can optimize (i.e., minimize) the objective function using any of a variety of optimization techniques to identify the optimal values for each of the decision variables.

One example of an objective function which can be optimized by MPM system602is shown in the following equation:

where Cop,iis the cost per unit of energy (e.g., $/kWh) consumed by connected equipment610at time step i of the optimization period, Pop,iis the power consumption (e.g., kW) of connected equipment610at time step i, Δt is the duration of each time step i, Cmain,iis the cost of maintenance performed on connected equipment610at time step i, Bmain,iis a binary variable that indicates whether the maintenance is performed, Ccap,iis the capital cost of purchasing a new device of connected equipment610at time step i, Bcap,iis a binary variable that indicates whether the new device is purchased, and h is the duration of the horizon or optimization period over which the optimization is performed.

The first term in the objective function J represents the operating cost of connected equipment610over the duration of the optimization period. In some embodiments, the cost per unit of energy Cop,iis received from a utility608as energy pricing data. The cost Cop,imay be a time-varying cost that depends on the time of day, the day of the week (e.g., weekday vs. weekend), the current season (e.g., summer vs. winter), or other time-based factors. For example, the cost Cop,imay be higher during peak energy consumption periods and lower during off-peak or partial-peak energy consumption periods.

In some embodiments, the power consumption Pop,iis based on the heating or cooling load of building10. The heating or cooling load can be predicted by MPM system602as a function of building occupancy, the time of day, the day of the week, the current season, or other factors that can affect the heating or cooling load. In some embodiments, MPM system602uses weather forecasts from a weather service604to predict the heating or cooling load. The power consumption Pop,imay also depend on the efficiency ηiof connected equipment610. For example, connected equipment610that operate at a high efficiency may consume less power Pop,ito satisfy the same heating or cooling load relative to connected equipment610that operate at a low efficiency. In general, the power consumption Pop,iof a particular device of connected equipment610can be modeled using the following equations:

Pop,i=Pideal,iηi⁢Pi⁢d⁢e⁢a⁢l,i=f⁡(Loadi)
where Loadiis the heating or cooling load on the device at time step i (e.g., tons cooling, kW heating, etc.), Pideal,iis the value of the equipment performance curve (e.g., tons cooling, kW heating, etc.) for the device at the corresponding load point Loadi, and ηiis the operating efficiency of the device at time step i (e.g., 0≤ηi≤1). The function ƒ(Loadi) may be defined by the equipment performance curve for the device or set of devices represented by the performance curve.

In some embodiments, the equipment performance curve is based on manufacturer specifications for the device under ideal operating conditions. For example, the equipment performance curve may define the relationship between power consumption and heating/cooling load for each device of connected equipment610. However, the actual performance of the device may vary as a function of the actual operating conditions. MPM system602can analyze the equipment performance information provided by connected equipment610to determine the operating efficiency ηifor each device of connected equipment610. In some embodiments, MPM system602uses the equipment performance information from connected equipment610to determine the actual operating efficiency ηifor each device of connected equipment610. MPM system602can use the operating efficiency ηias an input to the objective function J and/or to calculate the corresponding value of Pop,i.

Advantageously, MPM system602can model the efficiency ηiof connected equipment610at each time step i as a function of the maintenance decisions Bmain,iand the equipment purchase decisions Bcap,i. For example, the efficiency ηifor a particular device may start at an initial value η0when the device is purchased and may degrade over time such that the efficiency ηidecreases with each successive time step i. Performing maintenance on a device may reset the efficiency ηito a higher value immediately after the maintenance is performed. Similarly, purchasing a new device to replace an existing device may reset the efficiency ηito a higher value immediately after the new device is purchased. After being reset, the efficiency ηimay continue to degrade over time until the next time at which maintenance is performed or a new device is purchased.

Performing maintenance or purchasing a new device may result in a relatively lower power consumption Pop,iduring operation and therefore a lower operating cost at each time step i after the maintenance is performed or the new device is purchased. In other words, performing maintenance or purchasing a new device may decrease the operating cost represented by the first term of the objective function J. However, performing maintenance may increase the second term of the objective function J and purchasing a new device may increase the third term of the objective function J. The objective function/captures each of these costs and can be optimized by MPM system602to determine the optimal set of maintenance and equipment purchase decisions (i.e., optimal values for the binary decision variables Bmain,iand Bcap,i) over the duration of the optimization period.

In some embodiments, MPM system602uses the equipment performance information from connected equipment610to estimate the reliability of connected equipment610. The reliability may be a statistical measure of the likelihood that connected equipment610will continue operating without fault under its current operating conditions. Operating under more strenuous conditions (e.g., high load, high temperatures, etc.) may result in a lower reliability, whereas operating under less strenuous conditions (e.g., low load, moderate temperatures, etc.) may result in a higher reliability. In some embodiments, the reliability is based on an amount of time that has elapsed since connected equipment610last received maintenance.

MPM system602may receive operating data from a plurality of devices of connected equipment610distributed across multiple buildings and can use the set of operating data (e.g., operating conditions, fault indications, failure times, etc.) to develop a reliability model for each type of equipment. The reliability models can be used by MPM system602to estimate the reliability of any given device of connected equipment610as a function of its current operating conditions and/or other extraneous factors (e.g., time since maintenance was last performed, geographic location, water quality, etc.). In some embodiments, MPM system602uses the estimated reliability of each device of connected equipment610to determine the probability that the device will require maintenance and/or replacement at each time step of the optimization period. MPM system602can use these probabilities to determine the optimal set of maintenance and equipment purchase decisions (i.e., optimal values for the binary decision variables Bmain,iand Bcap,i) over the duration of the optimization period.

In some embodiments, MPM system602generates and provides equipment purchase and maintenance recommendations. The equipment purchase and maintenance recommendations may be based on the optimal values for the binary decision variables Bmain,iand Bcap,idetermined by optimizing the objective function J. For example, a value of Bmain,25=1 for a particular device of connected equipment610may indicate that maintenance should be performed on that device at the 25thtime step of the optimization period, whereas a value of Bmain,25=0 may indicate that the maintenance should not be performed at that time step. Similarly, a value of Bcap,25=1 may indicate that a new device of connected equipment610should be purchased at the 25thtime step of the optimization period, whereas a value of Bcap,25=0 may indicate that the new device should not be purchased at that time step.

Advantageously, the equipment purchase and maintenance recommendations generated by MPM system602are predictive recommendations based on the actual operating conditions and actual performance of connected equipment610. The optimization performed by MPM system602weighs the cost of performing maintenance and the cost of purchasing new equipment against the decrease in operating cost resulting from such maintenance or purchase decisions in order to determine the optimal maintenance strategy that minimizes the total combined cost J. In this way, the equipment purchase and maintenance recommendations generated by MPM system602may be specific to each group of connected equipment610in order to achieve the optimal cost. J for that specific group of connected equipment610. The equipment-specific recommendations may result in a lower overall cost. J relative to generic preventive maintenance recommendations provided by an equipment manufacturer (e.g., service equipment every year) which may be sub-optimal for some groups of connected equipment610and/or some operating conditions.

In some embodiments, the equipment purchase and maintenance recommendations are provided to building10(e.g., to BMS606) and/or to client devices448. An operator or building owner can use the equipment purchase and maintenance recommendations to assess the costs and benefits of performing maintenance and purchasing new devices. In some embodiments, the equipment purchase and maintenance recommendations are provided to service technicians620. Service technicians620can use the equipment purchase and maintenance recommendations to determine when customers should be contacted to perform service or replace equipment.

In some embodiments, MPM system602includes a data analytics and visualization platform. MPM system602may provide a web interface which can be accessed by service technicians620, client devices448, and other systems or devices. The web interface can be used to access the equipment performance information, view the results of the optimization, identify which equipment is in need of maintenance, and otherwise interact with MPM system602. Service technicians620can access the web interface to view a list of equipment for which maintenance is recommended by MPM system602. Service technicians620can use the equipment purchase and maintenance recommendations to proactively repair or replace connected equipment610in order to achieve the optimal cost predicted by the objective function J. These and other features of MPM system602are described in greater detail below.

Referring now toFIG.8, a block diagram illustrating MPM system602in greater detail is shown, according to an exemplary embodiment. MPM system602is shown providing optimization results to a building management system (BMS)606. BMS606can include some or all of the features of BMS400and/or BMS500, as described with reference toFIGS.4-5. The optimization results provided to BMS606may include the optimal values of the decision variables in the objective function/for each time step i in the optimization period. In some embodiments, the optimization results include equipment purchase and maintenance recommendations for each device of connected equipment610.

BMS606may be configured to monitor the operation and performance of connected equipment610. BMS606may receive monitored variables from connected equipment610. Monitored variables can include any measured or calculated values indicating the performance of connected equipment610and/or the components thereof. For example, monitored variables can include one or more measured or calculated temperatures, pressures, flow rates, valve positions, resource consumptions (e.g., power consumption, water consumption, electricity consumption, etc.), control setpoints, model parameters (e.g., equipment model coefficients), or any other variables that provide information about how the corresponding system, device, or process is performing.

In some embodiments, the monitored variables indicate the operating efficiency ηiof each device of connected equipment610or can be used to calculate the operating efficiency ηi. For example, the temperature and flow rate of chilled water output by a chiller can be used to calculate the cooling load (e.g., tons cooling) served by the chiller. The cooling load can be used in combination with the power consumption of the chiller to calculate the operating efficiency ηi(e.g., tons cooling per kW of electricity consumed). BMS606may report the monitored variables to MPM system602for use in calculating the operating efficiency ηiof each device of connected equipment610.

In some embodiments, BMS606monitors the run hours of connected equipment610. The run hours may indicate the number of hours within a given time period during which each device of connected equipment610is active. For example, the run hours for a chiller may indicate that the chiller is active for approximately eight hours per day. The run hours can be used in combination with the average power consumption of the chiller when active to estimate the total power consumption Pop,iof connected equipment610at each time step i.

In some embodiments, BMS606monitors the equipment failures and fault indications reported by connected equipment610. BMS606can record the times at which each failure or fault occurs and the operating conditions of connected equipment610under which the fault or failure occurred. The operating data collected from connected equipment610can be used by BMS606and/or MPM system602to develop a reliability model for each device of connected equipment610. BMS606may provide the monitored variables, the equipment run hours, the operating conditions, and the equipment failures and fault indications to MPM system602as equipment performance information.

BMS606may be configured to monitor conditions within a controlled building or building zone. For example, BMS606may receive input from various sensors (e.g., temperature sensors, humidity sensors, airflow sensors, voltage sensors, etc.) distributed throughout the building and may report building conditions to MPM system602. Building conditions may include, for example, a temperature of the building or a zone of the building, a power consumption (e.g., electric load) of the building, a state of one or more actuators configured to affect a controlled state within the building, or other types of information relating to the controlled building. BMS606may operate connected equipment610to affect the monitored conditions within the building and to serve the thermal energy loads of the building.

BMS606may provide control signals to connected equipment610specifying on/off states, charge/discharge rates, and/or setpoints for connected equipment610. BMS606may control the equipment (e.g., via actuators, power relays, etc.) in accordance with the control signals to achieve setpoints for various building zones and/or devices of connected equipment610. In various embodiments, BMS606may be combined with MPM system602or may be part of a separate building management system. According to an exemplary embodiment, BMS606is a METASYS® brand building management system, as sold by Johnson Controls, Inc.

MPM system602may monitor the performance of connected equipment610using information received from BMS606. MPM system602may be configured to predict the thermal energy loads (e.g., heating loads, cooling loads, etc.) of the building for plurality of time steps in the optimization period (e.g., using weather forecasts from a weather service604). MPM system602may also predict the cost of electricity or other resources (e.g., water, natural gas, etc.) using pricing data received from utilities608. MPM system602may generate optimization results that optimize the economic value of operating, maintaining, and purchasing connected equipment610over the duration of the optimization period subject to constraints on the optimization process (e.g., load constraints, decision variable constraints, etc.). The optimization process performed by MPM system602is described in greater detail below.

According to an exemplary embodiment, MPM system602can be integrated within a single computer (e.g., one server, one housing, etc.). In various other exemplary embodiments, MPM system602can be distributed across multiple servers or computers (e.g., that can exist in distributed locations). In another exemplary embodiment, MPM system602may integrated with a smart building manager that manages multiple building systems and/or combined with BMS606.

MPM system602is shown to include a communications interface804and a processing circuit806. Communications interface804may include wired or wireless interfaces (e.g., jacks, antennas, transmitters, receivers, transceivers, wire terminals, etc.) for conducting data communications with various systems, devices, or networks. For example, communications interface804may include an Ethernet card and port for sending and receiving data via an Ethernet-based communications network and/or a WiFi transceiver for communicating via a wireless communications network. Communications interface804may be configured to communicate via local area networks or wide area networks (e.g., the Internet, a building WAN, etc.) and may use a variety of communications protocols (e.g., BACnet, IP, LON, etc.).

Communications interface804may be a network interface configured to facilitate electronic data communications between MPM system602and various external systems or devices (e.g., BMS606, connected equipment610, utilities510, etc.). For example, MPM system602may receive information from BMS606indicating one or more measured states of the controlled building (e.g., temperature, humidity, electric loads, etc.) and equipment performance information for connected equipment610(e.g., run hours, power consumption, operating efficiency, etc.). Communications interface804may receive inputs from BMS606and/or connected equipment610and may provide optimization results to BMS606and/or other external systems or devices. The optimization results may cause BMS606to activate, deactivate, or adjust a setpoint for connected equipment610in order to achieve the optimal values of the decision variables specified in the optimization results.

Still referring toFIG.8, processing circuit806is shown to include a processor808and memory810. Processor808may be a general purpose or specific purpose processor, an application specific integrated circuit (ASIC), one or more field programmable gate arrays (FPGAs), a group of processing components, or other suitable processing components. Processor808may be configured to execute computer code or instructions stored in memory810or received from other computer readable media (e.g., CDROM, network storage, a remote server, etc.).

Memory810may include one or more devices (e.g., memory units, memory devices, storage devices, etc.) for storing data and/or computer code for completing and/or facilitating the various processes described in the present disclosure. Memory810may include random access memory (RAM), read-only memory (ROM), hard drive storage, temporary storage, non-volatile memory, flash memory, optical memory, or any other suitable memory for storing software objects and/or computer instructions. Memory810may include database components, object code components, script components, or any other type of information structure for supporting the various activities and information structures described in the present disclosure. Memory810may be communicably connected to processor808via processing circuit806and may include computer code for executing (e.g., by processor808) one or more processes described herein.

MPM system602is shown to include an equipment performance monitor824. Equipment performance monitor824can receive equipment performance information from BMS606and/or connected equipment610. The equipment performance information can include samples of monitored variables (e.g., measured temperature, measured pressure, measured flow rate, power consumption, etc.), current operating conditions (e.g., heating or cooling load, current operating state, etc.), fault indications, or other types of information that characterize the performance of connected equipment610. In some embodiments, equipment performance monitor824uses the equipment performance information to calculate the current efficiency ηiand reliability of each device of connected equipment610. Equipment performance monitor824can provide the efficiency ηiand reliability values to model predictive optimizer830for use in optimizing the objective function J.

Still referring toFIG.8, MPM system602is shown to include a load/rate predictor822. Load/rate predictor822may be configured to predict the energy loads (Loadi) (e.g., heating load, cooling load, electric load, etc.) of the building or campus for each time step i of the optimization period. Load/rate predictor822is shown receiving weather forecasts from a weather service604. In some embodiments, load/rate predictor822predicts the energy loads Loadias a function of the weather forecasts. In some embodiments, load/rate predictor822uses feedback from BMS606to predict loads Loadi. Feedback from BMS606may include various types of sensory inputs (e.g., temperature, flow, humidity, enthalpy, etc.) or other data relating to the controlled building (e.g., inputs from a HVAC system, a lighting control system, a security system, a water system, etc.).

In some embodiments, load/rate predictor822receives a measured electric load and/or previous measured load data from BMS606(e.g., via equipment performance monitor824). Load/rate predictor822may predict loads Loadias a function of a given weather forecast ({circumflex over (ϕ)}w), a day type (day), the time of day (t), and previous measured load data (Yi−1). Such a relationship is expressed in the following equation:
Loadi=ƒ({circumflex over (ϕ)}w,day,t|Yi−1)

In some embodiments, load/rate predictor822uses a deterministic plus stochastic model trained from historical load data to predict loads Loadi. Load/rate predictor822may use any of a variety of prediction methods to predict loads Loadi(e.g., linear regression for the deterministic portion and an AR model for the stochastic portion). Load/rate predictor822may predict one or more different types of loads for the building or campus. For example, load/rate predictor822may predict a hot water load LoadHot,i, a cold water load LoadCold,i, and an electric load LoadElec,ifor each time step i within the optimization period. The predicted load values Loadican include some or all of these types of loads. In some embodiments, load/rate predictor822makes load/rate predictions using the techniques described in U.S. patent application Ser. No. 14/717,593.

Load/rate predictor822is shown receiving utility rates from utilities608. Utility rates may indicate a cost or price per unit of a resource (e.g., electricity, natural gas, water, etc.) provided by utilities608at each time step i in the optimization period. In some embodiments, the utility rates are time-variable rates. For example, the price of electricity may be higher at certain times of day or days of the week (e.g., during high demand periods) and lower at other times of day or days of the week (e.g., during low demand periods). The utility rates may define various time periods and a cost per unit of a resource during each time period. Utility rates may be actual rates received from utilities608or predicted utility rates estimated by load/rate predictor822.

In some embodiments, the utility rates include demand charges for one or more resources provided by utilities608. A demand charge may define a separate cost imposed by utilities608based on the maximum usage of a particular resource (e.g., maximum energy consumption) during a demand charge period. The utility rates may define various demand charge periods and one or more demand charges associated with each demand charge period. In some instances, demand charge periods may overlap partially or completely with each other and/or with the prediction window. Model predictive optimizer830may be configured to account for demand charges in the high level optimization process performed by high level optimizer832. Utilities608may be defined by time-variable (e.g., hourly) prices, a maximum service level (e.g., a maximum rate of consumption allowed by the physical infrastructure or by contract) and, in the case of electricity, a demand charge or a charge for the peak rate of consumption within a certain period. Load/rate predictor822may store the predicted loads Loadiand the utility rates in memory810and/or provide the predicted loads Loadiand the utility rates to model predictive optimizer830.

Still referring toFIG.8, MPM system602is shown to include a model predictive optimizer830. Model predictive optimizer830can be configured to perform a multi-level optimization process to optimize the total cost associated with purchasing, maintaining, and operating connected equipment610. In some embodiments, model predictive optimizer830includes a high level optimizer832and a low level optimizer834. High level optimizer832may optimize the objective function J for an entire set of connected equipment610(e.g., all of the devices within a building) or for a subset of connected equipment610(e.g., a single device, all of the devices of a subplant or building subsystem, etc.) to determine the optimal values for each of the decision variables (e.g., Pop,i, and Bcap,i) in the objective function J. The optimization performed by high level optimizer832is described in greater detail with reference toFIG.9.

In some embodiments, low level optimizer834receives the optimization results from high level optimizer832. The optimization results may include optimal power consumption values Pop,iand/or load values Loadifor each device or set of devices of connected equipment at each time step i in the optimization period. Low level optimizer834may determine how to best run each device or set of devices at the load values determined by high level optimizer832. For example, low level optimizer834may determine on/off states and/or operating setpoints for various devices of connected equipment610in order to optimize (e.g., minimize) the power consumption of connected equipment610meeting the corresponding load value Loadi.

Low level optimizer834may be configured to generate equipment performance curves for each device or set of devices of connected equipment610. Each performance curve may indicate an amount of resource consumption (e.g., electricity use measured in kW, water use measured in L/s, etc.) by a particular device or set of devices of connected equipment610as a function of the load on the device or set of devices. In some embodiments, low level optimizer834generates the performance curves by performing a low level optimization process at various combinations of load points (e.g., various values of Loadi) and weather conditions to generate multiple data points. The low level optimization may be used to determine the minimum amount of resource consumption required to satisfy the corresponding heating or cooling load. An example of a low level optimization process which can be performed by low level optimizer834is described in detail in U.S. patent application Ser. No. 14/634,615 titled “Low Level Central Plant Optimization” and filed Feb. 27, 2015, the entire disclosure of which is incorporated by reference herein. Low level optimizer834may fit a curve to the data points to generate the performance curves.

In some embodiments, low level optimizer834generates equipment performance curves for a set of connected equipment610(e.g., a chiller subplant, a heater subplant, etc.) by combining efficiency curves for individual devices of connected equipment610. A device efficiency curve may indicate the amount of resource consumption by the device as a function of load. The device efficiency curves may be provided by a device manufacturer or generated using experimental data. In some embodiments, the device efficiency curves are based on an initial efficiency curve provided by a device manufacturer and updated using experimental data. The device efficiency curves may be stored in equipment models818. For some devices, the device efficiency curves may indicate that resource consumption is a U-shaped function of load. Accordingly, when multiple device efficiency curves are combined into a performance curve for multiple devices, the resultant performance curve may be a wavy curve. The waves are caused by a single device loading up before it is more efficient to turn on another device to satisfy the subplant load. Low level optimizer834may provide the equipment performance curves to high level optimizer832for use in the high level optimization process.

Still referring toFIG.8, MPM system602is shown to include an equipment controller828. Equipment controller828can be configured to control connected equipment610to affect a variable state or condition in building10(e.g., temperature, humidity, etc.). In some embodiments, equipment controller828controls connected equipment610based on the results of the optimization performed by model predictive optimizer830. In some embodiments, equipment controller828generates control signals which can be provided to connected equipment610via communications interface804and/or BMS606. The control signals may be based on the optimal values of the decision variables in the objective function J. For example, equipment controller828may generate control signals which cause connected equipment610to achieve the optimal power consumption values Pop,ifor each time step i in the optimization period.

Data and processing results from model predictive optimizer830, equipment controller828, or other modules of MPM system602may be accessed by (or pushed to) monitoring and reporting applications826. Monitoring and reporting applications826may be configured to generate real time “system health” dashboards that can be viewed and navigated by a user (e.g., a system engineer). For example, monitoring and reporting applications826may include a web-based monitoring application with several graphical user interface (GUI) elements (e.g., widgets, dashboard controls, windows, etc.) for displaying key performance indicators (KPI) or other information to users of a GUI. In addition, the GUI elements may summarize relative energy use and intensity across building management systems in different buildings (real or modeled), different campuses, or the like. Other GUI elements or reports may be generated and shown based on available data that allow users to assess performance across one or more energy storage systems from one screen. The user interface or report (or underlying data engine) may be configured to aggregate and categorize operating conditions by building, building type, equipment type, and the like. The GUI elements may include charts or histograms that allow the user to visually analyze the operating parameters and power consumption for the devices of the building system.

Still referring toFIG.8, MPM system602may include one or more GUI servers, web services812, or GUI engines814to support monitoring and reporting applications826. In various embodiments, applications826, web services812, and GUI engine814may be provided as separate components outside of MPM system602(e.g., as part of a smart building manager). MPM system602may be configured to maintain detailed historical databases (e.g., relational databases, XML databases, etc.) of relevant data and includes computer code modules that continuously, frequently, or infrequently query, aggregate, transform, search, or otherwise process the data maintained in the detailed databases. MPM system602may be configured to provide the results of any such processing to other databases, tables, XML files, or other data structures for further querying, calculation, or access by, for example, external monitoring and reporting applications.

MPM system602is shown to include configuration tools816. Configuration tools816can allow a user to define (e.g., via graphical user interfaces, via prompt-driven “wizards,” etc.) how MPM system602should react to changing conditions in BMS606and/or connected equipment610. In an exemplary embodiment, configuration tools816allow a user to build and store condition-response scenarios that can cross multiple devices of connected equipment610, multiple building systems, and multiple enterprise control applications (e.g., work order management system applications, entity resource planning applications, etc.). For example, configuration tools816can provide the user with the ability to combine data (e.g., from subsystems, from event histories) using a variety of conditional logic. In varying exemplary embodiments, the conditional logic can range from simple logical operators between conditions (e.g., AND, OR, XOR, etc.) to pseudo-code constructs or complex programming language functions (allowing for more complex interactions, conditional statements, loops, etc.). Configuration tools816can present user interfaces for building such conditional logic. The user interfaces may allow users to define policies and responses graphically. In some embodiments, the user interfaces may allow a user to select a pre-stored or pre-constructed policy and adapt it or enable it for use with their system.

High Level Optimizer

Referring now toFIG.9, a block diagram illustrating high level optimizer832in greater detail is shown, according to an exemplary embodiment. High level optimizer832can be configured to determine an optimal maintenance strategy for connected equipment610. In some embodiments, the optimal maintenance strategy is a set of decisions which optimizes the total cost associated with purchasing, maintaining, and operating connected equipment610over the duration of an optimization period (e.g., 30 weeks, 52 weeks, 10 years, 30 years, etc.). The decisions can include, for example, equipment purchase decisions, equipment maintenance decisions, and equipment operating decisions.

High level optimizer832is shown to include an operational cost predictor910, a maintenance cost predictor920, a capital cost predictor930, an objective function generator935, and an objective function optimizer940. Cost predictors910,920, and930can use a model predictive control technique to formulate an objective function which expresses the total cost as a function of several decision variables (e.g., maintenance decisions, equipment purchase decisions, etc.) and input parameters (e.g., energy cost, device efficiency, device reliability). Operational cost predictor910can be configured to formulate an operational cost term in the objective function. Similarly, maintenance cost predictor920can be configured to formulate a maintenance cost term in the objective function and capital cost predictor930can be configured to formulate a capital cost term in the objective function. Objective function optimizer940can optimize (i.e., minimize) the objective function using any of a variety of optimization techniques to identify the optimal values for each of the decision variables.

One example of an objective function which can be generated by high level optimizer832is shown in the following equation:

J=∑i=1hCop,i⁢Pop,i⁢Δ⁢t+∑i=1hCmain,i⁢Bmain,i+∑i=1hCcap,i⁢Pcap,i
where Cop,iis the cost per unit of energy (e.g., $/kWh) consumed by connected equipment610at time step i of the optimization period, Pop,iis the power consumption (e.g., kW) of connected equipment610at time step i, Δt is the duration of each time step i, Cmain,iis the cost of maintenance performed on connected equipment610at time step i, Bmain,iis a binary variable that indicates whether the maintenance is performed, Ccap,iis the capital cost of purchasing a new device of connected equipment610at time step i, Bcap,iis a binary variable that indicates whether the new device is purchased, and h is the duration of the horizon or optimization period over which the optimization is performed.
Operational Cost Predictor

Operational cost predictor910can be configured to formulate the first term in the objective function J. The first term in the objective function J represents the operating cost of connected equipment610over the duration of the optimization period and is shown to include three variables or parameters (i.e., Cop,i, Pop,i, and Δt). In some embodiments, the cost per unit of energy Cop,iis determined by energy costs module915. Energy costs module915can receive a set of energy prices from utility608as energy pricing data. In some embodiments, the energy prices are time-varying cost that depend on the time of day, the day of the week (e.g., weekday vs. weekend), the current season (e.g., summer vs. winter), or other time-based factors. For example, the cost of electricity may be higher during peak energy consumption periods and lower during off-peak or partial-peak energy consumption periods.

Energy costs module915can use the energy costs to define the value of Cop,ifor each time step i of the optimization period. In some embodiments, energy costs module915stores the energy costs as an array Copincluding a cost element for each of the h time steps in the optimization period. For example, energy costs module915can generate the following array:
Cop=[Cop,1Cop,2. . . Cop,h]
where the array Cophas a size of 1×h and each element of the array Copincludes an energy cost value Cop,ifor a particular time step i=1 . . . h of the optimization period.

Still referring toFIG.9, operational cost predictor910is shown to include an ideal performance calculator912. Ideal performance calculator912may receive load predictions Loadifrom load/rate predictor822and may receive performance curves from low level optimizer834. As discussed above, the performance curves may define the ideal power consumption Pidealof a device or set of devices of connected equipment610as a function of the heating or cooling load on the device or set of devices. For example, the performance curve one or more devices of connected equipment610can be defined by the following equation:
Pideal,i=ƒ(Loadi)
where Pideal,iis the ideal power consumption (e.g., kW) of connected equipment610at time step i and Loadiis the load (e.g., tons cooling, kW heating, etc.) on connected equipment610at time step i. The ideal power consumption Pideal,imay represent the power consumption of the one or more devices of connected equipment610assuming they operate at perfect efficiency.

Ideal performance calculator912can use the performance curve for a device or set of devices of connected equipment610to identify the value of Pideal,ithat corresponds to the load point Loadifor the device or set of devices at each time step of the optimization period. In some embodiments, ideal performance calculator912stores the ideal load values as an array Pidealincluding an element for each of the h time steps in the optimization period. For example, ideal performance calculator912can generate the following array:
Pideal=[Pideal,1Pideal,2. . . Pideal,h]T
where the array Pidealhas a size of h×1 and each element of the array Pidealincludes an ideal power consumption value Pideal,ifor a particular time step i=1 h of the optimization period.

Still referring toFIG.9, operational cost predictor910is shown to include an efficiency updater911and an efficiency degrader913. Efficiency updater911can be configured to determine the efficiency η of connected equipment610under actual operating conditions. In some embodiments, the efficiency represents the ratio of the ideal power consumption Pidealof connected equipment to the actual power consumption Pactualof connected equipment610, as shown in the following equation:

η=PidealPactual
where Pidealis the ideal power consumption of connected equipment610as defined by the performance curve for connected equipment610and Pactualis the actual power consumption of connected equipment610. In some embodiments, efficiency updater911uses the equipment performance information collected from connected equipment610to identify the actual power consumption value Pactual. Efficiency updater911can use the actual power consumption Pactualin combination with the ideal power consumption Pidealto calculate the efficiency η.

Efficiency updater911can be configured to periodically update the efficiency η to reflect the current operating efficiency of connected equipment610. For example, efficiency updater911can calculate the efficiency η of connected equipment610once per day, once per week, once per year, or at any other interval as may be suitable to capture changes in the efficiency η over time. Each value of the efficiency η may be based on corresponding values of Pidealand Pactualat the time the efficiency η is calculated. In some embodiments, efficiency updater911updates the efficiency η each time the high level optimization process is performed (i.e., each time the objective function J is optimized). The efficiency value calculated by efficiency updater911may be stored in memory810as an initial efficiency value η0, where the subscript 0 denotes the value of the efficiency η at or before the beginning of the optimization period (e.g., at time step 0).

In some embodiments, efficiency updater911updates the efficiency ηifor one or more time steps during the optimization period to account for increases in the efficiency η of connected equipment610that will result from performing maintenance on connected equipment610or purchasing new equipment to replace or supplement one or more devices of connected equipment610. The time steps i at which the efficiency ηiis updated may correspond to the predicted time steps at which the maintenance will be performed or the equipment will replaced. The predicted time steps at which maintenance will be performed on connected equipment610may be defined by the values of the binary decision variables Bmain,iin the objective function J. Similarly, the predicted time steps at which the equipment will be replaced may be defined by the values of the binary decision variables Bcap,iin the objective function J.

Efficiency updater911can be configured to reset the efficiency ηifor a given time step i if the binary decision variables Bmain,iand Bcap,iindicate that maintenance will be performed at that time step and/or new equipment will be purchased at that time step (i.e., Bmain,i=1 and/or Bcap,i=1). For example, if Bmain,i=1, efficiency updater911can be configured to reset the value of ηito ηmain, where ηmainis the efficiency value that is expected to result from the maintenance performed at time step i. Similarly, if Bcap,i=1, efficiency updater911can be configured to reset the value of ηito ηcap, where ηcapis the efficiency value that is expected to result from purchasing a new device to supplement or replace one or more devices of connected equipment610performed at time step i. Efficiency updater911can dynamically reset the efficiency ηifor one or more time steps while the optimization is being performed (e.g., with each iteration of the optimization) based on the values of binary decision variables and Bcap,i.

Efficiency degrader913can be configured to predict the efficiency ηiof connected equipment610at each time step i of the optimization period. The initial efficiency η0at the beginning of the optimization period may degrade over time as connected equipment610degrade in performance. For example, the efficiency of a chiller may degrade over time as a result of the chilled water tubes becoming dirty and reducing the heat transfer coefficient of the chiller. Similarly, the efficiency of a battery may decrease over time as a result of degradation in the physical or chemical components of the battery. Efficiency degrader913can be configured to account for such degradation by incrementally reducing the efficiency ηiover the duration of the optimization period.

In some embodiments, the initial efficiency value η70is updated at the beginning of each optimization period. However, the efficiency η may degrade during the optimization period such that the initial efficiency value η70becomes increasingly inaccurate over the duration of the optimization period. To account for efficiency degradation during the optimization period, efficiency degrader913can decrease the efficiency η by a predetermined amount with each successive time step. For example, efficiency degrader913can define the efficiency at each time step i=1 . . . h as follows:
ηi=ηi−1−Δη
where ηiis the efficiency at time step i, ηi−1is the efficiency at time step i−1, and Δη is the degradation in efficiency between consecutive time steps. In some embodiments, this definition of ηiis applied to each time step for which Bmain,i=0 and Bcap,i=0. However, if either Bmain,i=1 or Bcap,i=1, the value of ηimay be reset to either ηmain,ior ηcapas previously described.

In some embodiments, the value of Δη is based on a time series of efficiency values calculated by efficiency updater911. For example, efficiency degrader913may record a time series of the initial efficiency values η70calculated by efficiency updater911, where each of the initial efficiency values η70represents the empirically-calculated efficiency of connected equipment610at a particular time. Efficiency degrader913can examine the time series of initial efficiency values η70to determine the rate at which the efficiency degrades. For example, if the initial efficiency η0at time t1is η0,1and the initial efficiency at time t2is η0.2, efficiency degrader913can calculate the rate of efficiency degradation as follows:

Δ⁢ηΔ⁢t
is the rate of efficiency degradation. Efficiency degrader913can multiply

ΔηΔ⁢⁢t
by the duration of each time step Δt to calculate the value of Δη

In some embodiments, efficiency degrader913stores the efficiency values over the duration of the optimization period in an array η1including an element for each of the h time steps in the optimization period. For example, efficiency degrader913can generate the following array:
η=[η1η2. . . ηh]
where the array η has a size of 1× h and each element of the array η includes an efficiency value ηifor a particular time step i=1 . . . h of the optimization period. Each element i of the array η may be calculated based on the value of the previous element and the value of Δη (e.g., if Bmain,i=0 and Bcap,i=0) or may be dynamically reset to either ηmainor ηcap(e.g., if Bmain,i=1 or Bcap,i=1.

The logic characterizing the efficiency updating and resetting operations performed by efficiency updater911and efficiency degrader913can be summarized in the following equations:
ifBmain,i=1→ηi=ηmain
ifBcap,i=1→ηi=ηcap
ifBmain,i=0 andBcap,i=0→ηi=ηi−1−Δη
which can be applied as constraints on the high level optimization performed by objective function optimizer940.

Advantageously, efficiency updater911and efficiency degrader913can model the efficiency ηiof connected equipment610at each time step i as a function of the maintenance decisions Bmain,iand the equipment purchase decisions Bcap,i. For example, the efficiency ηifor a particular device may start at an initial value η0at the beginning of the optimization period and may degrade over time such that the efficiency ηidecreases with each successive time step i. Performing maintenance on a device may reset the efficiency ηito a higher value immediately after the maintenance is performed. Similarly, purchasing a new device to replace an existing device may reset the efficiency ηito a higher value immediately after the new device is purchased. After being reset, the efficiency ηimay continue to degrade over time until the next time at which maintenance is performed or a new device is purchased.

Still referring toFIG.9, operational cost predictor910is shown to include a power consumption estimator914and an operational cost calculator916. Power consumption estimator914can be configured to estimate the power consumption Pop,iof connected equipment610at each time step i of the optimization period. In some embodiments, power consumption estimator914estimates the power consumption Pop,ias a function of the ideal power consumption Pideal,icalculated by ideal performance calculator912and the efficiency ηidetermined by efficiency degrader913and/or efficiency updater911. For example, power consumption estimator914can calculate the power consumption Pop,iusing the following equation:

Po⁢p,i=Pi⁢d⁢e⁢a⁢l,iηi
where Pideal,iis the power consumption calculated by ideal performance calculator912based on the equipment performance curve for the device at the corresponding load point Loadi, and ηiis the operating efficiency of the device at time step i.

In some embodiments, power consumption estimator914stores the power consumption values as an array Popincluding an element for each of the h time steps in the optimization period. For example, power consumption estimator914can generate the following array:
Pop=[Pop,1Pop,2. . . Pop,h]T
where the array Pophas a size of h×1 and each element of the array Popincludes a power consumption value Pop,ifor a particular time step i=1 h of the optimization period.

Operational cost calculator916can be configured to estimate the operational cost of connected equipment610over the duration of the optimization period. In some embodiments, operational cost calculator916calculates the operational cost during each time step i using the following equation:
Costop,i=Cop,iPop,iΔt
where Pop,iis the predicted power consumption at time step i determined by power consumption estimator914, Cop,iis the cost per unit of energy at time step i determined by energy costs module915, and Δt is the duration of each time step. Operational cost calculator916can sum the operational costs over the duration of the optimization period as follows:

Costo⁢p=∑i=1hCosto⁢p,i
where Costopis the operational cost term of the objective function J.

In other embodiments, operational cost calculator916estimates the operational cost Costopby multiplying the cost array Copby the power consumption array Popand the duration of each time step Δt as shown in the following equations:
Costop=CopPopΔt
Costop=[Cop,1Cop,2. . . Cop,h][Pop,1Pop,2. . . Pop,h]TΔt
Maintenance Cost Predictor

Maintenance cost predictor920can be configured to formulate the second term in the objective function J. The second term in the objective function J represents the cost of performing maintenance on connected equipment610over the duration of the optimization period and is shown to include two variables or parameters (i.e., Cmain,iand Bmain,i). Maintenance cost predictor920is shown to include a maintenance estimator922, a reliability estimator924, a maintenance cost calculator926, and a maintenance costs module928.

Reliability estimator924can be configured to estimate the reliability of connected equipment610based on the equipment performance information received from connected equipment610. The reliability may be a statistical measure of the likelihood that connected equipment610will continue operating without fault under its current operating conditions. Operating under more strenuous conditions (e.g., high load, high temperatures, etc.) may result in a lower reliability, whereas operating under less strenuous conditions (e.g., low load, moderate temperatures, etc.) may result in a higher reliability. In some embodiments, the reliability is based on an amount of time that has elapsed since connected equipment610last received maintenance and/or an amount of time that has elapsed since connected equipment610was purchased or installed.

In some embodiments, reliability estimator924uses the equipment performance information to identify a current operating state of connected equipment610. The current operating state can be examined by reliability estimator924to expose when connected equipment610begins to degrade in performance and/or to predict when faults will occur. In some embodiments, reliability estimator924estimates a likelihood of various types of failures that could potentially occur in connected equipment610. The likelihood of each failure may be based on the current operating conditions of connected equipment610, an amount of time that has elapsed since connected equipment610has been installed, and/or an amount of time that has elapsed since maintenance was last performed. In some embodiments, reliability estimator924identifies operating states and predicts the likelihood of various failures using the systems and methods described in U.S. patent application Ser. No. 15/188,824 titled “Building Management System With Predictive Diagnostics” and filed Jun. 21, 2016, the entire disclosure of which is incorporated by reference herein.

In some embodiments, reliability estimator924receives operating data from a plurality of devices of connected equipment610distributed across multiple buildings. The operating data can include, for example, current operating conditions, fault indications, failure times, or other data that characterize the operation and performance of connected equipment610. Reliability estimator924can use the set of operating data to develop a reliability model for each type of equipment. The reliability models can be used by reliability estimator924to estimate the reliability of any given device of connected equipment610as a function of its current operating conditions and/or other extraneous factors (e.g., time since maintenance was last performed, time since installation or purchase, geographic location, water quality, etc.).

One example of a reliability model which can be used by reliability estimator924is shown in the following equation:
Reliabilityi=ƒ(OpCondi,Δtmain,i,Δtcap,i)
where Reliabilityiis the reliability of connected equipment610at time step i, OpCondiare the operating conditions at time step i, Δtmain,iis the amount of time that has elapsed between the time at which maintenance was last performed and time step i, and Δtcap,iis the amount of time that has elapsed between the time at which connected equipment610was purchased or installed and time step i. Reliability estimator924can be configured to identify the current operating conditions OpCondibased on the equipment performance information received as a feedback from connected equipment610. Operating under more strenuous conditions (e.g., high load, extreme temperatures, etc.) may result in a lower reliability, whereas operating under less strenuous conditions (e.g., low load, moderate temperatures, etc.) may result in a higher reliability.

Reliability estimator924may determine the amount of time Δtmain,ithat has elapsed since maintenance was last performed on connected equipment610based on the values of the binary decision variables Bmain,i. For each time step i, reliability estimator924can examine the corresponding values of Bmainat time step i and each previous time step (e.g., time steps i−1, i−2, . . . , 1). Reliability estimator924can calculate the value of Δtmain,iby subtracting the time at which maintenance was last performed (i.e., the most recent time at which Bmain,i=1) from the time associated with time step i. A long amount of time Δtmain,isince maintenance was last performed may result in a lower reliability, whereas a short amount of time since maintenance was last performed may result in a higher reliability.

Similarly, reliability estimator924may determine the amount of time Δtcap,ithat has elapsed since connected equipment610was purchased or installed based on the values of the binary decision variables Bcap,i. For each time step i, reliability estimator924can examine the corresponding values of Bcapat time step i and each previous time step (e.g., time steps i−1, i−2, . . . , 1). Reliability estimator924can calculate the value of Δtcap,iby subtracting the time at which connected equipment610was purchased or installed (i.e., the most recent time at which Bcap,i=1) from the time associated with time step i. A long amount of time Δtcap,isince connected equipment610was purchased or installed may result in a lower reliability, whereas a short amount of time since connected equipment610was purchased or installed may result in a higher reliability.

Reliability estimator924can be configured to reset the reliability for a given time step i if the binary decision variables Bmain,iand Bcap,iindicate that maintenance will be performed at that time step and/or new equipment will be purchased at that time step (i.e., Bmain,i=1 and/or Bcap,i=1). For example, if Bmain,i=1, reliability estimator924can be configured to reset the value of Reliability) to Reliabilitymain, where Reliabilitymainis the reliability value that is expected to result from the maintenance performed at time step i. Similarly, if Bcap,i=1, reliability estimator924can be configured to reset the value of Reliabilityito Reliabilitycap, where Reliabilitycapis the reliability value that is expected to result from purchasing a new device to supplement or replace one or more devices of connected equipment610performed at time step i. Reliability estimator924can dynamically reset the reliability for one or more time steps while the optimization is being performed (e.g., with each iteration of the optimization) based on the values of binary decision variables Bmain,iand Bcap,i.

Maintenance estimator922can be configured to use the estimated reliability of connected equipment610over the duration of the optimization period to determine the probability that connected equipment610will require maintenance and/or replacement at each time step of the optimization period. In some embodiments, maintenance estimator922is configured to compare the probability that connected equipment610will require maintenance at a given time step to a critical value. Maintenance estimator922can be configured to set the value of Bmain,i=1 in response to a determination that the probability that connected equipment610will require maintenance at time step i exceeds the critical value. Similarly, maintenance estimator922can be configured to compare the probability that connected equipment610will require replacement at a given time step to a critical value. Maintenance estimator922can be configured to set the value of Bcap,i=1 in response to a determination that the probability that connected equipment610will require replacement at time step i exceeds the critical value.

In some embodiments, a reciprocal relationship exists between the reliability of connected equipment610and the values of the binary decision variables Bmain,iand Bcap,i. In other words, the reliability of connected equipment610can affect the values of the binary decision variables Bmain,iand Bcap,iselected in the optimization, and the values of the binary decision variables Bmain,iand Bcap,ican affect the reliability of connected equipment610. Advantageously, the optimization performed by objective function optimizer940can identify the optimal values of the binary decision variables Bmain,iand Bcap,iwhile accounting for the reciprocal relationship between the binary decision variables Bmain,iand Bcap,iand the reliability of connected equipment610.

In some embodiments, maintenance estimator922generates a matrix Bmainof the binary maintenance decision variables. The matrix Bmainmay include a binary decision variable for each of the different maintenance activities that can be performed at each time step of the optimization period. For example, maintenance estimator922can generate the following matrix:

Bm⁢a⁢i⁢n=[Bmain,1,1Bmain,1,2…Bmain,1,hBmain,2,1Bmain,2,2…Bmain,2,h⋮⋮⋱⋮Bmain,m,1Bmain,m,2…Bmain,m,h]
where the matrix Bmainhas a size of m×h and each element of the matrix Bmainincludes a binary decision variable for a particular maintenance activity at a particular time step of the optimization period. For example, the value of the binary decision variable Bmain j,iindicates whether the jth maintenance activity will be performed during the ith time step of the optimization period.

Still referring toFIG.9, maintenance cost predictor920is shown to include a maintenance costs module928and a maintenance costs calculator926. Maintenance costs module928can be configured to determine costs Cmain,iassociated with performing various types of maintenance on connected equipment610. Maintenance costs module928can receive a set of maintenance costs from an external system or device (e.g., a database, a user device, etc.). In some embodiments, the maintenance costs define the economic cost (e.g., $) of performing various types of maintenance. Each type of maintenance activity may have a different economic cost associated therewith. For example, the maintenance activity of changing the oil in a chiller compressor may incur a relatively small economic cost, whereas the maintenance activity of completely disassembling the chiller and cleaning all of the chilled water tubes may incur a significantly larger economic cost.

Maintenance costs module928can use the maintenance costs to define the values of Cmain,iin objective function J. In some embodiments, maintenance costs module928stores the maintenance costs as an array Cmainincluding a cost element for each of the maintenance activities that can be performed. For example, maintenance costs module928can generate the following array:
Cmain=[Cmain,1Cmain,2. . . Cmain,m]
where the array Cmainhas a size of 1× m and each element of the array Cmainincludes a maintenance cost value Cmain,ifor a particular maintenance activity j=1 . . . m.

Some maintenance activities may be more expensive than other. However, different types of maintenance activities may result in different levels of improvement to the efficiency η and/or the reliability of connected equipment610. For example, merely changing the oil in a chiller may result in a minor improvement in efficiency η and/or a minor improvement in reliability, whereas completely disassembling the chiller and cleaning all of the chilled water tubes may result in a significantly greater improvement to the efficiency η and/or the reliability of connected equipment610. Accordingly, multiple different levels of post-maintenance efficiency (i.e., ηmain) and post-maintenance reliability (i.e., Reliabilitymain) may exist. Each level of ηmainand Reliabilitymainmay correspond to a different type of maintenance activity.

In some embodiments, maintenance estimator922stores each of the different levels of ηmainand Reliabilitymainin a corresponding array. For example, the parameter ηmaincan be defined as an array ηmainwith an element for each of the m different types of maintenance activities. Similarly, the parameter Reliabilitymaincan be defined as an array Reliabilitymainwith an element for each of the m different types of maintenance activities. Examples of these arrays are shown in the following equations:
ηmain=[ηmain,1ηmain,2. . . ηmain,m]
Reliabilitymain=[Reliabilitymain,1Reliabilitymain,2. . . Reliabilitymain,m]
where the array ηmainhas a size of 1× m and each element of the array ηmainincludes a post-maintenance efficiency value ηmain,jfor a particular maintenance activity. Similarly, the array Reliabilitymainhas a size of 1× m and each element of the array Reliabilitymainincludes a post-maintenance reliability value Reliabilitymain,jfor a particular maintenance activity.

In some embodiments, efficiency updater911identifies the maintenance activity associated with each binary decision variable Bmain,j,iand resets the efficiency η to the corresponding post-maintenance efficiency level ηmain,jif Bmain j,i=1. Similarly, reliability estimator924can identify the maintenance activity associated with each binary decision variable Bmain j,iand can reset the reliability to the corresponding post-maintenance reliability level Reliabilitymain,jif Bmain j,i=1.

Maintenance cost calculator926can be configured to estimate the maintenance cost of connected equipment610over the duration of the optimization period. In some embodiments, maintenance cost calculator926calculates the maintenance cost during each time step i using the following equation:
Costmain,i=Cmain,iBmain,i
where Cmain,iis an array of maintenance costs including an element for each of the m different types of maintenance activities that can be performed at time step i and Bmain,iis an array of binary decision variables indicating whether each of the m maintenance activities will be performed at time step i. Maintenance cost calculator926can sum the maintenance costs over the duration of the optimization period as follows:

Costm⁢a⁢i⁢n=∑i=1hCostm⁢a⁢i⁢n,i
where Costmainis the maintenance cost term of the objective function J.

In other embodiments, maintenance cost calculator926estimates the maintenance cost Costmainby multiplying the maintenance cost array Cmainby the matrix of binary decision variables Bmainas shown in the following equations:

Capital cost predictor930can be configured to formulate the third term in the objective function J. The third term in the objective function J represents the cost of purchasing new devices of connected equipment610over the duration of the optimization period and is shown to include two variables or parameters (i.e., Ccap,iand Bcap,i). Capital cost predictor930is shown to include a purchase estimator932, a reliability estimator934, a capital cost calculator936, and a capital costs module938.

Reliability estimator934can include some or all of the features of reliability estimator924, as described with reference to maintenance cost predictor920. For example, reliability estimator934can be configured to estimate the reliability of connected equipment610based on the equipment performance information received from connected equipment610. The reliability may be a statistical measure of the likelihood that connected equipment610will continue operating without fault under its current operating conditions. Operating under more strenuous conditions (e.g., high load, high temperatures, etc.) may result in a lower reliability, whereas operating under less strenuous conditions (e.g., low load, moderate temperatures, etc.) may result in a higher reliability. In some embodiments, the reliability is based on an amount of time that has elapsed since connected equipment610last received maintenance and/or an amount of time that has elapsed since connected equipment610was purchased or installed. Reliability estimator934can include some or all of the features and/or functionality of reliability estimator924, as previously described.

Purchase estimator932can be configured to use the estimated reliability of connected equipment610over the duration of the optimization period to determine the probability that new devices of connected equipment610will be purchased at each time step of the optimization period. In some embodiments, purchase estimator932is configured to compare the probability that new devices of connected equipment610will be purchased at a given time step to a critical value. Purchase estimator932can be configured to set the value of Bcap,i=1 in response to a determination that the probability that connected equipment610will be purchased at time step i exceeds the critical value.

In some embodiments, purchase estimator932generates a matrix Bcapof the binary capital decision variables. The matrix Bcapmay include a binary decision variable for each of the different capital purchases that can be made at each time step of the optimization period. For example, purchase estimator932can generate the following matrix:

Bcap=[Bcap,1,1Bcap,1,2…Bcap,1,hBcap,2,1Bcap,2,2…Bcap,2,h⋮⋮⋱⋮Bcap,p,1Bcap,p,2…Bcap,p,h]
where the matrix Bcaphas a size of p×h and each element of the matrix Bcapincludes a binary decision variable for a particular capital purchase at a particular time step of the optimization period. For example, the value of the binary decision variable Bcap,k,iindicates whether the kth capital purchase will be made during the ith time step of the optimization period.

Still referring toFIG.9, capital cost predictor930is shown to include a capital costs module938and a capital cost calculator936. Capital costs module938can be configured to determine costs Ccap,iassociated with various capital purchases (i.e., purchasing one or more new devices of connected equipment610). Capital costs module938can receive a set of capital costs from an external system or device (e.g., a database, a user device, etc.). In some embodiments, the capital costs define the economic cost (e.g., $) of making various capital purchases. Each type of capital purchase may have a different economic cost associated therewith. For example, purchasing a new temperature sensor may incur a relatively small economic cost, whereas purchasing a new chiller may incur a significantly larger economic cost.

Capital costs module938can use the purchase costs to define the values of Ccap,iin objective function J. In some embodiments, capital costs module938stores the capital costs as an array Ccapincluding a cost element for each of the capital purchases that can be made. For example, capital costs module938can generate the following array:
Ccap=[Ccap,1Ccap,2. . . Ccap,p]
where the array Ccaphas a size of 1×p and each element of the array Ccapincludes a cost value Ccap,kfor a particular capital purchase k=1 . . . p.

Some capital purchases may be more expensive than other. However, different types of capital purchases may result in different levels of improvement to the efficiency η and/or the reliability of connected equipment610. For example, purchasing a new sensor to replace an existing sensor may result in a minor improvement in efficiency η and/or a minor improvement in reliability, whereas purchasing a new chiller and control system may result in a significantly greater improvement to the efficiency η and/or the reliability of connected equipment610. Accordingly, multiple different levels of post-purchase efficiency (i.e., ηcap) and post-purchase reliability (i.e., Reliabilitycap) may exist. Each level of ηcapand Reliabilitycapmay correspond to a different type of capital purchase.

In some embodiments, purchase estimator932stores each of the different levels of ηcapand Reliabilitycapin a corresponding array. For example, the parameter ηcapcan be defined as an array ηcapwith an element for each of the p different types of capital purchases which can be made. Similarly, the parameter Reliabilitycapcan be defined as an array Reliabilitycapwith an element for each of the p different types of capital purchases that can be made. Examples of these arrays are shown in the following equations:
ηcap=[ηcap,1ηcap,2ηcap,p]
Reliabilitycap=[Reliabilitycap,1Reliabilitycap,2. . . Reliabilitycap,p]
where the array ηcaphas a size of 1×p and each element of the array ηcapincludes a post-purchase efficiency value ηcap,kfor a particular capital purchase k. Similarly, the array Reliabilitycaphas a size of 1×p and each element of the array Reliabilitycapincludes a post-purchase reliability value Reliabilitycap,kfor a particular capital purchase k.

In some embodiments, efficiency updater911identifies the capital purchase associated with each binary decision variable Bmain,k,iand resets the efficiency η to the corresponding post-purchase efficiency level ηcap,kif Bcap,k,i=1. Similarly, reliability estimator924can identify the capital purchase associated with each binary decision variable Bcap,k,iand can reset the reliability to the corresponding post-purchase reliability level Reliabilitycap,kif Bmain,k,i=1.

Capital cost calculator936can be configured to estimate the capital cost of connected equipment610over the duration of the optimization period. In some embodiments, capital cost calculator936calculates the capital cost during each time step i using the following equation:
Costcap,i=Ccap,iBcap,i
where Ccap,iis an array of capital purchase costs including an element for each of the p different capital purchases that can be made at time step i and Bcap,iis an array of binary decision variables indicating whether each of the p capital purchases will be made at time step i. Capital cost calculator936can sum the capital costs over the duration of the optimization period as follows:

Costcap=∑i=1hCostcap,i
where Costcapis the capital cost term of the objective function J.

In other embodiments, capital cost calculator936estimates the capital cost Costcapby multiplying the capital cost array Ccapby the matrix of binary decision variables Bcapas shown in the following equations:

Costcap=Ccap⁢Bcap⁢Costcap=[Ccap,1Ccap,2…Ccap,p][Bcap,1,1Bcap,1,2…Bcap,1,hBcap,2,1Bcap,2,2…Bcap,2,h⋮⋮⋱⋮Bcap,p,1Bcap,p,2…Bcap,p,h]
Objective Function Optimizer

Still referring toFIG.9, high level optimizer832is shown to include an objective function generator935and an objective function optimizer940. Objective function generator935can be configured to generate the objective function J by summing the operational cost term, the maintenance cost term, and the capital cost term formulated by cost predictors910,920, and930. One example of an objective function which can be generated by objective function generator935is shown in the following equation:

J=∑i=1hCop,i⁢Pop,i⁢Δ⁢t+∑i=1hCmain,i⁢Bmain,i+∑i=1hCcap,i⁢Pcap,i
where Cop,iis the cost per unit of energy (e.g., $/kWh) consumed by connected equipment610at time step i of the optimization period, Pop,iis the power consumption (e.g., kW) of connected equipment610at time step i, Δt is the duration of each time step i, is the cost of maintenance performed on connected equipment610at time step i, Bmain,iis a binary variable that indicates whether the maintenance is performed, Ccap,iis the capital cost of purchasing a new device of connected equipment610at time step i, Bcap,iis a binary variable that indicates whether the new device is purchased, and h is the duration of the horizon or optimization period over which the optimization is performed.

Another example of an objective function which can be generated by objective function generator935is shown in the following equation:

Objective function generator935can be configured to impose constraints on one or more variables or parameters in the objective function J. The constraints can include any of the equations or relationships described with reference to operational cost predictor910, maintenance cost predictor920, and capital cost predictor930. For example, objective function generator935can impose a constraint which defines the power consumption values Pop,ifor one or more devices of connected equipment610as a function of the ideal power consumption Pideal,iand the efficiency (e.g., Pop,i=Pideal,i/ηi). Objective function generator935can impose a constraint which defines the efficiency ηias a function of the binary decision variables Bmain,iand Bcap,i, as described with reference to efficiency updater911and efficiency degrader913. Objective function generator935can impose a constraint which constrains the binary decision variables Bmain,iand Bcap,ito a value of either zero or one and defines the binary decision variables Bmainand Bcap,ias a function of the reliability Reliabilityiof connected equipment610, as described with reference to maintenance estimator922and purchase estimator932. Objective function generator935can impose a constraint which defines the reliability Reliabilityiof connected equipment610as a function of the equipment performance information (e.g., operating conditions, run hours, etc.) as described with reference to reliability estimators924and934.

Objective function optimizer940can optimize the objective function J to determine the optimal values of the binary decision variables Bmain,iand Bcap,iover the duration of the optimization period. Objective function optimizer940can use any of a variety of optimization techniques to formulate and optimize the objective function J. For example, objective function optimizer940can use integer programming, mixed integer linear programming, stochastic optimization, convex programming, dynamic programming, or any other optimization technique to formulate the objective function J, define the constraints, and perform the optimization. These and other optimization techniques are known in the art and will not be described in detail here.

In some embodiments, objective function optimizer940uses mixed integer stochastic optimization to optimize the objective function J. In mixed integer stochastic optimization, some of the variables in the objective function J can be defined as functions of random variables or probabilistic variables. For example, the decision variables Bmain,iand Bcap,ican be defined as binary variables that have probabilistic values based on the reliability of connected equipment610. Low reliability values may increase the probability that the binary decision variables Bmain,iand Bcap,iwill have a value of one (e.g., Bmain,i=1 and Bcap,i=1), whereas high reliability values may increase the probability that the binary decision variables Bmain,iand Bcap,iwill have a value of zero (e.g., Bmain,i=0 and Bcap,i=0). In some embodiments, maintenance estimator922and purchase estimator932use a mixed integer stochastic technique to define the values of the binary decision variables Bmain,iand Bcap,ias a probabilistic function of the reliability of connected equipment610.

As discussed above, the objective function J may represent the predicted cost of operating, maintaining, and purchasing one or more devices of connected equipment610over the duration of the optimization period. In some embodiments, objective function optimizer940is configured to project these costs back to a particular point in time (e.g., the current time) to determine the net present value (NPV) of the one or more devices of connected equipment610at a particular point in time. For example, objective function optimizer940can project each of the costs in objective function J back to the current time using the following equation:

NPVcost=∑i=1hCosti(1+r)i
where r is the interest rate, Costiis the cost incurred during time step i of the optimization period, and NPVcostis the net present value (i.e., the present cost) of the total costs incurred over the duration of the optimization period. In some embodiments, objective function optimizer940optimizes the net present value NPVcostto determine the NPV of one or more devices of connected equipment610at a particular point in time.

As discussed above, one or more variables or parameters in the objective function J can be updated dynamically based on closed-loop feedback from connected equipment610. For example, the equipment performance information received from connected equipment610can be used to update the reliability and/or the efficiency of connected equipment610. Objective function optimizer940can be configured to optimize the objective function J periodically (e.g., once per day, once per week, once per month, etc.) to dynamically update the predicted cost and/or the net present value NPVcostbased on the closed-loop feedback from connected equipment610.

In some embodiments, objective function optimizer940generates optimization results. The optimization results may include the optimal values of the decision variables in the objective function J for each time step i in the optimization period. The optimization results include operating decisions, equipment maintenance decisions, and/or equipment purchase decisions for each device of connected equipment610. In some embodiments, the optimization results optimize the economic value of operating, maintaining, and purchasing connected equipment610over the duration of the optimization period. In some embodiments, the optimization results optimize the net present value of one or more devices of connected equipment610at a particular point in time. The optimization results may cause BMS606to activate, deactivate, or adjust a setpoint for connected equipment610in order to achieve the optimal values of the decision variables specified in the optimization results.

In some embodiments, MPM system602uses the optimization results to generate equipment purchase and maintenance recommendations. The equipment purchase and maintenance recommendations may be based on the optimal values for the binary decision variables Bmain,iand Bcap,idetermined by optimizing the objective function J. For example, a value of Bmain,25=1 for a particular device of connected equipment610may indicate that maintenance should be performed on that device at the 25thtime step of the optimization period, whereas a value of Bmain,25=0 may indicate that the maintenance should not be performed at that time step. Similarly, a value of Bcap,25=1 may indicate that a new device of connected equipment610should be purchased at the 25thtime step of the optimization period, whereas a value of Bcap,25=0 may indicate that the new device should not be purchased at that time step.

In some embodiments, the equipment purchase and maintenance recommendations are provided to building10(e.g., to BMS606) and/or to client devices448. An operator or building owner can use the equipment purchase and maintenance recommendations to assess the costs and benefits of performing maintenance and purchasing new devices. In some embodiments, the equipment purchase and maintenance recommendations are provided to service technicians620. Service technicians620can use the equipment purchase and maintenance recommendations to determine when customers should be contacted to perform service or replace equipment.

Model Predictive Maintenance Process

Referring now toFIG.10, a flowchart of a model predictive maintenance process1000is shown, according to an exemplary embodiment. Process1000can be performed by one or more components of building system600. In some embodiments, process1000is performed by MPM system602, as described with reference toFIGS.6-9.

Process1000is shown to include operating building equipment to affect a variable state or condition of a building (step1002) and receiving equipment performance information as feedback from the building equipment (step1004). The building equipment can include type of equipment which can be used to monitor and/or control a building (e.g., connected equipment610). For example, the building equipment can include chillers, AHUs, boilers, batteries, heaters, economizers, valves, actuators, dampers, cooling towers, fans, pumps, lighting equipment, security equipment, refrigeration equipment, or any other type of equipment in a building system or building management system. The building equipment can include any of the equipment of HVAC system100, waterside system200, airside system300, BMS400, and/or BMS500, as described with reference toFIGS.1-5. The equipment performance information can include samples of monitored variables (e.g., measured temperature, measured pressure, measured flow rate, power consumption, etc.), current operating conditions (e.g., heating or cooling load, current operating state, etc.), fault indications, or other types of information that characterize the performance of the building equipment.

Process1000is shown to include estimating an efficiency and reliability of the building equipment as a function of the equipment performance information (step1006). In some embodiments, step1006is performed by efficiency updater911and reliability estimators924,926as described with reference toFIG.9. Step1006can include using the equipment performance information to determine the efficiency η of the building equipment under actual operating conditions. In some embodiments, the efficiency ηirepresents the ratio of the ideal power consumption Pidealof the building equipment to the actual power consumption Pactualof the building equipment, as shown in the following equation:

η=PidealPactual
where Pidealis the ideal power consumption of the building equipment as defined by the performance curve for the building equipment and Pactualis the actual power consumption of the building equipment. In some embodiments, step1006includes using the equipment performance information collected in step1002to identify the actual power consumption value Pactual. Step1006can include using the actual power consumption Pactualin combination with the ideal power consumption Pidealto calculate the efficiency η.

Step1006can include periodically updating the efficiency η to reflect the current operating efficiency of the building equipment. For example, step1006can include calculating the efficiency η of the building equipment once per day, once per week, once per year, or at any other interval as may be suitable to capture changes in the efficiency η over time. Each value of the efficiency η may be based on corresponding values of Pidealand Pactualat the time the efficiency η is calculated. In some embodiments, step1006includes updating the efficiency η each time the high level optimization process is performed (i.e., each time the objective function J is optimized). The efficiency value calculated in step1006may be stored in memory810as an initial efficiency value η0, where the subscript 0 denotes the value of the efficiency η at or before the beginning of the optimization period (e.g., at time step 0).

Step1006can include predicting the efficiency ηiof the building equipment at each time step i of the optimization period. The initial efficiency η0at the beginning of the optimization period may degrade over time as the building equipment degrade in performance. For example, the efficiency of a chiller may degrade over time as a result of the chilled water tubes becoming dirty and reducing the heat transfer coefficient of the chiller. Similarly, the efficiency of a battery may decrease over time as a result of degradation in the physical or chemical components of the battery. Step1006can account for such degradation by incrementally reducing the efficiency ηiover the duration of the optimization period.

In some embodiments, the initial efficiency value η0is updated at the beginning of each optimization period. However, the efficiency η may degrade during the optimization period such that the initial efficiency value η0becomes increasingly inaccurate over the duration of the optimization period. To account for efficiency degradation during the optimization period, step1006can include decreasing the efficiency η by a predetermined amount with each successive time step. For example, step1006can include defining the efficiency at each time step i=1 h as follows:
ηi=ηi−1−Δη
where ηiis the efficiency at time step i, ηi−1is the efficiency at time step i−1, and Δη is the degradation in efficiency between consecutive time steps. In some embodiments, this definition of ηiis applied to each time step for which Bmain,i=0 and Bcap,i=0. However, if either Bmain,i=1 or Bcap,i=1, the value of ηimay be reset to either ηmainor ηcapin step1018.

In some embodiments, the value of Δη is based on a time series of efficiency values. For example, step1006may include recording a time series of the initial efficiency values η0, where each of the initial efficiency values η0represents the empirically-calculated efficiency of the building equipment at a particular time. Step1006can include examining the time series of initial efficiency values η0to determine the rate at which the efficiency degrades. For example, if the initial efficiency η0at time t1is η0,1and the initial efficiency at time t2is η0.2, the rate of efficiency degradation can be calculated as follows:

Δ⁢ηΔ⁢t
is the rate of efficiency degradation. Step1006can include multiplying

Δ⁢ηΔ⁢t
by the duration of each time step Δt to calculate the value of Δη (i.e.,

Step1006can include estimating the reliability of the building equipment based on the equipment performance information received in step1004. The reliability may be a statistical measure of the likelihood that the building equipment will continue operating without fault under its current operating conditions. Operating under more strenuous conditions (e.g., high load, high temperatures, etc.) may result in a lower reliability, whereas operating under less strenuous conditions (e.g., low load, moderate temperatures, etc.) may result in a higher reliability. In some embodiments, the reliability is based on an amount of time that has elapsed since the building equipment last received maintenance and/or an amount of time that has elapsed since the building equipment were purchased or installed.

In some embodiments, step1006includes using the equipment performance information to identify a current operating state of the building equipment. The current operating state can be examined to expose when the building equipment begin to degrade in performance and/or to predict when faults will occur. In some embodiments, step1006includes estimating a likelihood of various types of failures that could potentially occur the building equipment. The likelihood of each failure may be based on the current operating conditions of the building equipment, an amount of time that has elapsed since the building equipment have been installed, and/or an amount of time that has elapsed since maintenance was last performed. In some embodiments, step1006includes identifying operating states and predicts the likelihood of various failures using the systems and methods described in U.S. patent application Ser. No. 15/188,824 titled “Building Management System With Predictive Diagnostics” and filed Jun. 21, 2016, the entire disclosure of which is incorporated by reference herein.

In some embodiments, step1006includes receiving operating data from building equipment distributed across multiple buildings. The operating data can include, for example, current operating conditions, fault indications, failure times, or other data that characterize the operation and performance of the building equipment. Step1006can include using the set of operating data to develop a reliability model for each type of equipment. The reliability models can be used in step1006to estimate the reliability of any given device of the building equipment as a function of its current operating conditions and/or other extraneous factors (e.g., time since maintenance was last performed, time since installation or purchase, geographic location, water quality, etc.).

One example of a reliability model which can be used in step1006is shown in the following equation:
Reliabilityi=ƒ(OpCondi,Δtmain,i,Δtcap,i)
where Reliabilityiis the reliability of the building equipment at time step i, OpCondiare the operating conditions at time step i, Δtmain,iis the amount of time that has elapsed between the time at which maintenance was last performed and time step i, and Δtcap,iis the amount of time that has elapsed between the time at which the building equipment were purchased or installed and time step i. Step1006can include identifying the current operating conditions OpCondibased on the equipment performance information received as a feedback from the building equipment. Operating under more strenuous conditions (e.g., high load, extreme temperatures, etc.) may result in a lower reliability, whereas operating under less strenuous conditions (e.g., low load, moderate temperatures, etc.) may result in a higher reliability.

Still referring toFIG.10, process1000is shown to include predicting an energy consumption of the building equipment over an optimization period as a function of the estimated efficiency (step1008). In some embodiments, step1008is performed by ideal performance calculator912and/or power consumption estimator, as described with reference toFIG.9. Step1008can include receiving load predictions Loadifrom load/rate predictor822and performance curves from low level optimizer834. As discussed above, the performance curves may define the ideal power consumption Pidealof the building equipment a function of the heating or cooling load on the device or set of devices. For example, the performance curve for the building equipment can be defined by the following equation:
Pideal,i=ƒ(Loadi)
where Pideal,iis the ideal power consumption (e.g., kW) of the building equipment at time step i and Loadiis the load (e.g., tons cooling, kW heating, etc.) on the building equipment at time step i. The ideal power consumption Pideal,imay represent the power consumption of the building equipment assuming they operate at perfect efficiency. Step1008can include using the performance curve for the building equipment to identify the value of Pideal,ithat corresponds to the load point Loadifor the building equipment at each time step of the optimization period.

In some embodiments, step1008includes estimating the power consumption Pop,ias a function of the ideal power consumption Pideal,iand the efficiency ηiof the building equipment. For example, step1008can include calculating the power consumption Pop,iusing the following equation:

Pop,i=Pideal,iηi
where Pideal,iis the power consumption based on the equipment performance curve for the building equipment at the corresponding load point Loadi, and ηiis the operating efficiency of the building equipment at time step i.

Still referring toFIG.10, process1000is shown to include defining a cost Costopof operating the building equipment over the optimization period as a function of the predicted energy consumption (step1010). In some embodiments, step1010is performed by operational cost calculator916, as described with reference toFIG.9. Step1010can include calculating the operational cost during each time step i using the following equation:
Costop,i=Cop,iPop,iΔt
where Pop,iis the predicted power consumption at time step i determined in step1008, Cop,iis the cost per unit of energy at time step i, and Δt is the duration of each time step. Step1010can include summing the operational costs over the duration of the optimization period as follows:

Costop=∑i=1hCostop,i
where Costopis the operational cost term of the objective function J.

In other embodiments, step1010can include calculating the operational cost Costopby multiplying the cost array Copby the power consumption array Popand the duration of each time step Δt as shown in the following equations:
Costop=CopPopΔt
Costop=[Cop,1Cop,2. . . Cop,h][Pop,1Pop,2. . . Pop,h]TΔt
where the array Copincludes an energy cost value Cop,ifor a particular time step i=1 h of the optimization period, the array Popincludes a power consumption value Pop,ifor a particular time step i=1 h of the optimization period.

Still referring toFIG.10, process1000is shown to include defining a cost of performing maintenance on the building equipment over the optimization period as a function of the estimated reliability (step1012). Step1012can be performed by maintenance cost predictor920, as described with reference toFIG.9. Step1012can include using the estimated reliability of the building equipment over the duration of the optimization period to determine the probability that the building equipment will require maintenance and/or replacement at each time step of the optimization period. In some embodiments, step1012includes comparing the probability that the building equipment will require maintenance at a given time step to a critical value. Step1012can include setting the value of Bmain,i=1 in response to a determination that the probability that the building equipment will require maintenance at time step i exceeds the critical value. Similarly, step1012can include comparing the probability that the building equipment will require replacement at a given time step to a critical value. Step1012can include setting the value of Bcap,i=1 in response to a determination that the probability that the building equipment will require replacement at time step i exceeds the critical value.

Step1012can include determining the costs Cmain,iassociated with performing various types of maintenance on the building equipment. Step1012can include receiving a set of maintenance costs from an external system or device (e.g., a database, a user device, etc.). In some embodiments, the maintenance costs define the economic cost (e.g., $) of performing various types of maintenance. Each type of maintenance activity may have a different economic cost associated therewith. For example, the maintenance activity of changing the oil in a chiller compressor may incur a relatively small economic cost, whereas the maintenance activity of completely disassembling the chiller and cleaning all of the chilled water tubes may incur a significantly larger economic cost. Step1012can include using the maintenance costs to define the values of Cmain,iin objective function J.

Step1012can include estimating the maintenance cost of the building equipment over the duration of the optimization period. In some embodiments, step1012includes calculating the maintenance cost during each time step i using the following equation:
Costmain,i=Cmain,iBmain,i
where Cmain,iis an array of maintenance costs including an element for each of the m different types of maintenance activities that can be performed at time step i and Bmain,iis an array of binary decision variables indicating whether each of the m maintenance activities will be performed at time step i. Step1012can include summing the maintenance costs over the duration of the optimization period as follows:

Costmain=∑i=1hCostmain,i
where Costmainis the maintenance cost term of the objective function J.

In other embodiments, step1012includes estimating the maintenance cost Costmainby multiplying the maintenance cost array Cmainby the matrix of binary decision variables Bmainas shown in the following equations:

Still referring toFIG.10, process1000is shown to include defining a cost Costcapof purchasing or replacing the building equipment over the optimization period as a function of the estimated reliability (step1014). Step1014can be performed by capital cost predictor930, as described with reference toFIG.9. In some embodiments, step1014includes using the estimated reliability of the building equipment over the duration of the optimization period to determine the probability that new devices of the building equipment will be purchased at each time step of the optimization period. In some embodiments, step1014includes comparing the probability that new devices of the building equipment will be purchased at a given time step to a critical value. Step1014can include setting the value of Bcap,i=1 in response to a determination that the probability that the building equipment will be purchased at time step i exceeds the critical value.

Step1014can include determining the costs Ccap,iassociated with various capital purchases (i.e., purchasing one or more new devices of the building equipment). Step1014can include receiving a set of capital costs from an external system or device (e.g., a database, a user device, etc.). In some embodiments, the capital costs define the economic cost (e.g., $) of making various capital purchases. Each type of capital purchase may have a different economic cost associated therewith. For example, purchasing a new temperature sensor may incur a relatively small economic cost, whereas purchasing a new chiller may incur a significantly larger economic cost. Step1014can include using the purchase costs to define the values of Ccap,iin objective function J.

Some capital purchases may be more expensive than other. However, different types of capital purchases may result in different levels of improvement to the efficiency η and/or the reliability of the building equipment. For example, purchasing a new sensor to replace an existing sensor may result in a minor improvement in efficiency η and/or a minor improvement in reliability, whereas purchasing a new chiller and control system may result in a significantly greater improvement to the efficiency η and/or the reliability of the building equipment. Accordingly, multiple different levels of post-purchase efficiency (i.e., ηcap) and post-purchase reliability (i.e., Reliabilitycap) may exist. Each level of ηcapand Reliabilitycapmay correspond to a different type of capital purchase.

Step1014can include estimating the capital cost of the building equipment over the duration of the optimization period. In some embodiments, step1014includes calculating the capital cost during each time step i using the following equation:
Costcap,i=Ccap,iBcap,i
where Ccap,iis an array of capital purchase costs including an element for each of the p different capital purchases that can be made at time step i and Bcap,iis an array of binary decision variables indicating whether each of the p capital purchases will be made at time step i. Step1014can include summing the capital costs over the duration of the optimization period as follows:

Costcap=∑i=1hCostcap,i
where Costcapis the capital cost term of the objective function J.

In other embodiments, step1014includes estimating the capital cost Costcapby multiplying the capital cost array Ccapby the matrix of binary decision variables Bcapas shown in the following equations:

Costcap=Ccap⁢Bcap⁢Costcap=[Ccap,1Ccap,2…Ccap,p]⁢[⁠Bcap,1,1Bcap,1,2…Bcap,1,hBcap,2,1Bcap,2,2…Bcap,2,h⋮⋮⋱⋮Bcap,p,1Bcap,p,2…Bcap,p,h]
where each element of the array Ccapincludes a capital cost value Ccap,kfor a particular capital purchase k=1 . . . p and each element of the matrix Bcapincludes a binary decision variable for a particular capital purchase k=1 . . . p at a particular time step i=1 h of the optimization period.

Still referring toFIG.10, process1000is shown to include optimizing an objective function including the costs Costop, Costmain, and Costcapto determine an optimal maintenance strategy for the building equipment (step1016). Step1016can include generating the objective function J by summing the operational cost term, the maintenance cost term, and the capital cost term formulated in steps1010-1014. One example of an objective function which can be generated in step1016is shown in the following equation:

J=∑i=1hCop,i⁢Pop,i⁢Δ⁢t+∑i=1hCmain,i⁢Bmain.i+∑i=1hCcap,i⁢Pcap,i
where Cop,iis the cost per unit of energy (e.g., $/kWh) consumed by connected equipment610at time step i of the optimization period, Pop,iis the power consumption (e.g., kW) of connected equipment610at time step i, Δt is the duration of each time step i, Cmain,iis the cost of maintenance performed on connected equipment610at time step i, Bmain,iis a binary variable that indicates whether the maintenance is performed, Ccap,iis the capital cost of purchasing a new device of connected equipment610at time step i, Bcap,iis a binary variable that indicates whether the new device is purchased, and h is the duration of the horizon or optimization period over which the optimization is performed.

Another example of an objective function which can be generated in step1016is shown in the following equation:

Step1016can include imposing constraints on one or more variables or parameters in the objective function J. The constraints can include any of the equations or relationships described with reference to operational cost predictor910, maintenance cost predictor920, and capital cost predictor930. For example, step1016can include imposing a constraint which defines the power consumption values Pop,ifor one or more devices of the building equipment as a function of the ideal power consumption Pideal,iand the efficiency (e.g., Pop,i=Pideal,i/ηi). Step1016can include imposing a constraint which defines the efficiency ηias a function of the binary decision variables Bmain,iand Bcap,i, as described with reference to efficiency updater911and efficiency degrader913. Step1016can include imposing a constraint which constrains the binary decision variables Bmainand Bcap,ito a value of either zero or one and defines the binary decision variables Bmain,iand Bcap,ias a function of the reliability Reliabilityiof connected equipment610, as described with reference to maintenance estimator922and purchase estimator932. Step1016can include imposing a constraint which defines the reliability Reliabilityiof connected equipment610as a function of the equipment performance information (e.g., operating conditions, run hours, etc.) as described with reference to reliability estimators924and934.

Step1016can include optimizing the objective function J to determine the optimal values of the binary decision variables Bmain,iand Bcap,iover the duration of the optimization period. Step1016can include using any of a variety of optimization techniques to formulate and optimize the objective function J. For example, step1016can include using integer programming, mixed integer linear programming, stochastic optimization, convex programming, dynamic programming, or any other optimization technique to formulate the objective function J, define the constraints, and perform the optimization. These and other optimization techniques are known in the art and will not be described in detail here.

In some embodiments, step1016includes using mixed integer stochastic optimization to optimize the objective function J. In mixed integer stochastic optimization, some of the variables in the objective function J can be defined as functions of random variables or probabilistic variables. For example, the decision variables Bmain,iand Bcap,ican be defined as binary variables that have probabilistic values based on the reliability of the building equipment. Low reliability values may increase the probability that the binary decision variables Bmain,iand Bcap,iwill have a value of one (e.g., Bmain,i=1 and Bcap,i=1), whereas high reliability values may increase the probability that the binary decision variables Bmain,iand Bcap,iwill have a value of zero (e.g., Bmain,i=0 and Bcap,i=0). In some embodiments, step1016includes using a mixed integer stochastic technique to define the values of the binary decision variables Bmain,iand Bcap,ias a probabilistic function of the reliability of the building equipment.

As discussed above, the objective function J may represent the predicted cost of operating, maintaining, and purchasing one or more devices of the building equipment over the duration of the optimization period. In some embodiments, step1016includes projecting these costs back to a particular point in time (e.g., the current time) to determine the net present value (NPV) of the one or more devices of the building equipment at a particular point in time. For example, step1016can include projecting each of the costs in objective function J back to the current time using the following equation:

NPVcost=∑i=1hCosti(1+r)i
where r is the interest rate, Costiis the cost incurred during time step i of the optimization period, and NPVcostis the net present value (i.e., the present cost) of the total costs incurred over the duration of the optimization period. In some embodiments, step1016includes optimizing the net present value NPVcostto determine the NPV of the building equipment at a particular point in time.

As discussed above, one or more variables or parameters in the objective function J can be updated dynamically based on closed-loop feedback from the building equipment. For example, the equipment performance information received from the building equipment can be used to update the reliability and/or the efficiency of the building equipment. Step1016can include optimizing the objective function J periodically (e.g., once per day, once per week, once per month, etc.) to dynamically update the predicted cost and/or the net present value NPVcostbased on the closed-loop feedback from the building equipment.

In some embodiments, step1016include generating optimization results. The optimization results may include the optimal values of the decision variables in the objective function J for each time step i in the optimization period. The optimization results include operating decisions, equipment maintenance decisions, and/or equipment purchase decisions for each device of the building equipment. In some embodiments, the optimization results optimize the economic value of operating, maintaining, and purchasing the building equipment over the duration of the optimization period. In some embodiments, the optimization results optimize the net present value of one or more devices of the building equipment at a particular point in time. The optimization results may cause BMS606to activate, deactivate, or adjust a setpoint for the building equipment in order to achieve the optimal values of the decision variables specified in the optimization results.

In some embodiments, process1000includes using the optimization results to generate equipment purchase and maintenance recommendations. The equipment purchase and maintenance recommendations may be based on the optimal values for the binary decision variables Bmain,iand Bcap,idetermined by optimizing the objective function J. For example, a value of Bmain,25=1 for a particular device of the building equipment may indicate that maintenance should be performed on that device at the 25thtime step of the optimization period, whereas a value of Bmain,25=0 may indicate that the maintenance should not be performed at that time step. Similarly, a value of Bcap,25=1 may indicate that a new device of the building equipment should be purchased at the 25thtime step of the optimization period, whereas a value of Bcap,25=0 may indicate that the new device should not be purchased at that time step.

In some embodiments, the equipment purchase and maintenance recommendations are provided to building10(e.g., to BMS606) and/or to client devices448. An operator or building owner can use the equipment purchase and maintenance recommendations to assess the costs and benefits of performing maintenance and purchasing new devices. In some embodiments, the equipment purchase and maintenance recommendations are provided to service technicians620. Service technicians620can use the equipment purchase and maintenance recommendations to determine when customers should be contacted to perform service or replace equipment.

Still referring toFIG.10, process1000is shown to include updating the efficiency and the reliability of the building equipment based on the optimal maintenance strategy (step1018). In some embodiments, step1018includes updating the efficiency ηifor one or more time steps during the optimization period to account for increases in the efficiency η of the building equipment that will result from performing maintenance on the building equipment or purchasing new equipment to replace or supplement one or more devices of the building equipment. The time steps i at which the efficiency ηiis updated may correspond to the predicted time steps at which the maintenance will be performed or the equipment will replaced. The predicted time steps at which maintenance will be performed on the building equipment may be defined by the values of the binary decision variables Bmain,iin the objective function J. Similarly, the predicted time steps at which the building equipment will be replaced may be defined by the values of the binary decision variables Bcap,iin the objective function J.

Step1018can include resetting the efficiency ηifor a given time step i if the binary decision variables Bmain,iand Bcap,iindicate that maintenance will be performed at that time step and/or new equipment will be purchased at that time step (i.e., Bmain,i=1 and/or Bcap,i=1). For example, if Bmain,i=1, step1018can include resetting the value of ηito ηmain, where ηmainis the efficiency value that is expected to result from the maintenance performed at time step i. Similarly, if Bcap,i=1, step1018can include resetting the value of ηito ηcap, where ηcapis the efficiency value that is expected to result from purchasing a new device to supplement or replace one or more devices of the building equipment performed at time step i. Step1018can include resetting the efficiency ηifor one or more time steps while the optimization is being performed (e.g., with each iteration of the optimization) based on the values of binary decision variables Bmain,iand Bcap,i.

Step1018may include determining the amount of time Δtmain,ithat has elapsed since maintenance was last performed on the building equipment based on the values of the binary decision variables Bmain,i. For each time step i, step1018can examine the corresponding values of Bmainat time step i and each previous time step (e.g., time steps i−1, i−2, . . . , 1). Step1018can include calculating the value of Δtmain,iby subtracting the time at which maintenance was last performed (i.e., the most recent time at which Bmain,i=1) from the time associated with time step i. A long amount of time Δtmain,isince maintenance was last performed may result in a lower reliability, whereas a short amount of time since maintenance was last performed may result in a higher reliability.

Similarly, step1018may include determining the amount of time Δtcap,ithat has elapsed since the building equipment were purchased or installed based on the values of the binary decision variables Bcap,i. For each time step i, step1018can examine the corresponding values of Bcapat time step i and each previous time step (e.g., time steps i−1, i−2, . . . , 1). Step1018can include calculating the value of Δtcap,iby subtracting the time at which the building equipment were purchased or installed (i.e., the most recent time at which Bcap,i=1) from the time associated with time step i. A long amount of time Δtcap,isince the building equipment were purchased or installed may result in a lower reliability, whereas a short amount of time since the building equipment were purchased or installed may result in a higher reliability

Some maintenance activities may be more expensive than other. However, different types of maintenance activities may result in different levels of improvement to the efficiency η and/or the reliability of the building equipment. For example, merely changing the oil in a chiller may result in a minor improvement in efficiency η and/or a minor improvement in reliability, whereas completely disassembling the chiller and cleaning all of the chilled water tubes may result in a significantly greater improvement to the efficiency η and/or the reliability of the building equipment. Accordingly, multiple different levels of post-maintenance efficiency (i.e., ηmain) and post-maintenance reliability (i.e., Reliabilitymain) may exist. Each level of ηmainand Reliabilitymainmay correspond to a different type of maintenance activity.

In some embodiments, step1018includes identifying the maintenance activity associated with each binary decision variable Bmain,j,iand resets the efficiency η to the corresponding post-maintenance efficiency level ηmain,jif Bmain,j,i=1. Similarly, step1018may include identifying the maintenance activity associated with each binary decision variable Bmain,j,iand can reset the reliability to the corresponding post-maintenance reliability level Reliabilitymain,jif Bmain,j,i=1. Step1018can include initiating a maintenance activity for the building equipment in accordance with the maintenance schedule. Initiating the maintenance activity can include prompting a technician to perform maintenance, dispatching maintenance, displaying a recommended maintenance schedule to a user, etc., or any other action to initiate maintenance activity.

Some capital purchases may be more expensive than other. However, different types of capital purchases may result in different levels of improvement to the efficiency η and/or the reliability of the building equipment. For example, purchasing a new sensor to replace an existing sensor may result in a minor improvement in efficiency η and/or a minor improvement in reliability, whereas purchasing a new chiller and control system may result in a significantly greater improvement to the efficiency η and/or the reliability of the building equipment. Accordingly, multiple different levels of post-purchase efficiency (i.e., ηcap) and post-purchase reliability (i.e., Reliabilitycap) may exist. Each level of ηcapand Reliabilitycapmay correspond to a different type of capital purchase.

In some embodiments, step1018includes identifying the capital purchase associated with each binary decision variable Bmain,k,iand resetting the efficiency η to the corresponding post-purchase efficiency level ηcap,kif Bcap,k,i=1. Similarly, step1018may include identifying the capital purchase associated with each binary decision variable Bcap,k,iand can resetting the reliability to the corresponding post-purchase reliability level Reliabilitycap,kif Bmain,k,i=1.

Model Predictive Maintenance with Degradation Estimation/Prediction

Model Predictive Maintenance System with Degradation Impact Model

Referring now toFIG.11, a model predictive maintenance (MPM) system1100is shown, according to some embodiments. In some embodiments, one or more of the components of MPM system1100may be the same as or similar to the corresponding components of building system600and/or MPM system602as described with reference toFIGS.6-10. The components of MPM system1100are given new reference numbers inFIG.11for ease of explanation. However, it should be understood that MPM system1100may be integrated into building system600in the same manner as MPM system602and may perform some or all of the functions of MPM system602as described with reference toFIGS.6-10.

MPM system1100is shown to include a MPM controller1102, service providers1130, connected equipment1132, a weather service1134, and utilities1136. Connected equipment1132may be the same as or similar to connected equipment610, as described with reference toFIGS.6and8. For example, connected equipment1132may include one or more chillers, boilers, air handling units, batteries, valves, actuators, thermal energy storage tanks, fans, dampers, or any other type of equipment that can be used to perform the various functions of a building or campus. Connected equipment1132may include sensors, local controllers, and/or communications electronics capable of providing performance variables ykto MPM controller1102.

The performance variables ykcan include measurements or other performance data characterizing the operating performance of connected equipment1132. For example, the performance variables ykmay include an amount of electricity consumed by connected equipment1132, an amount of other resources (e.g., water, natural gas, etc.) consumed by connected equipment1132, an amount of time it takes connected equipment1132to affect a desired change in a zone of the building, an operating efficiency of connected equipment1132(e.g., a ratio of resources produced to resources consumed, a coefficient of performance, etc.), a number of run hours of connected equipment, or any other variable that can be used to estimate the degradation state of connected equipment1132. The performance variables ykcan be provided to MPM controller1102and used by MPM controller1102to estimate a degradation state of connected equipment1132. In some embodiments, the variable ykis a vector that includes values for one or more performance variables at time step k.

Service providers1130may include any entity capable of performing maintenance on connected equipment1132, repairing connected equipment1132, replacing connected equipment1132, or otherwise performing actions in accordance with the maintenance schedule mkgenerated by MPM controller1102. For example, service providers1130may include maintenance personnel who work within the building or campus, external service providers such as contractors, service technicians, or any other person or entity capable of executing the maintenance activities specified by the maintenance schedule mk. Service providers1130may receive service requests from MPM controller1102and execute the service requests by performing maintenance, repairing, replacing, or otherwise servicing connected equipment1132.

Weather service1134and utilities1136may be the same as or similar to weather service604and utilities608, as described with reference toFIGS.6and8. Utilities1136may provide utility pricing data (e.g., electricity prices, natural gas prices, water prices, demand charge prices, etc.) to MPM controller1102, whereas weather service1134may provide weather forecasts (e.g., outdoor air temperature, outdoor air humidity, wind speed, precipitation forecasts, etc.) to MPM controller1102. MPM controller1102may use the pricing data and weather forecasts to predict the energy loads of the building or campus and utility prices at each time step of an optimization period.

MPM controller1102is shown to include a communications interface1104and a processing circuit1106. Communications interface1104may include wired or wireless interfaces (e.g., jacks, antennas, transmitters, receivers, transceivers, wire terminals, etc.) for conducting data communications with various systems, devices, or networks. For example, communications interface1104may include an Ethernet card and port for sending and receiving data via an Ethernet-based communications network and/or a Wi-Fi transceiver for communicating via a wireless communications network. Communications interface1104may be configured to communicate via local area networks or wide area networks (e.g., the Internet, a building WAN, etc.) and may use a variety of communications protocols (e.g., BACnet, IP, LON, etc.).

Communications interface1104may be a network interface configured to facilitate electronic data communications between MPM controller1102and various external systems or devices (e.g., connected equipment1132, utilities1136, weather service1134, service providers1130, etc.). For example, MPM controller1102may receive performance variables ykfrom connected equipment1132indicating one or more measured states of the controlled building (e.g., temperature, humidity, electric loads, etc.) and/or equipment performance information (e.g., run hours, power consumption, operating efficiency, etc.). Communications interface1104may receive inputs from utilities1136, weather service1134, connected equipment1132and may provide a maintenance schedule mkor service requests to service providers1130or other external systems or devices.

Processing circuit1106is shown to include a processor1108and memory1110. Processor1108may be a general purpose or specific purpose processor, an application specific integrated circuit (ASIC), one or more field programmable gate arrays (FPGAs), a group of processing components, or other suitable processing components. Processor1108may be configured to execute computer code or instructions stored in memory1110or received from other computer readable media (e.g., CDROM, network storage, a remote server, etc.).

Memory1110may include one or more devices (e.g., memory units, memory devices, storage devices, etc.) for storing data and/or computer code for completing and/or facilitating the various processes described in the present disclosure. Memory1110may include random access memory (RAM), read-only memory (ROM), hard drive storage, temporary storage, non-volatile memory, flash memory, optical memory, or any other suitable memory for storing software objects and/or computer instructions. Memory1110may include database components, object code components, script components, or any other type of information structure for supporting the various activities and information structures described in the present disclosure. Memory1110may be communicably connected to processor1108via processing circuit1106and may include computer code for executing (e.g., by processor1108) one or more processes described herein.

Still referring toFIG.11, MPM controller1102is shown to include a load/rate predictor1112, a degradation impact modeler1114, a degradation estimator1116, a model predictive optimizer1120, and a maintenance scheduler1118. Load/rate predictor1112may be configured to predict the energy loads (Loadi) (e.g., heating load, cooling load, electric load, etc.) of the building or campus for each time step i of the optimization period. Load/rate predictor1112is shown receiving weather forecasts from weather service1134. In some embodiments, load/rate predictor1112predicts the energy loads Loadias a function of the weather forecasts. In some embodiments, load/rate predictor1112uses feedback from connected equipment1132to predict loads Loadi. Feedback from connected equipment1132may include various types of sensory inputs (e.g., temperature, flow, humidity, enthalpy, etc.) or other data relating to the controlled building (e.g., inputs from a HVAC system, a lighting control system, a security system, a water system, etc.) and may be included in performance variables yk.

In some embodiments, load/rate predictor1112receives a measured electric load and/or previous measured load data from connected equipment1132. Load/rate predictor1112may predict loads Loadias a function of a given weather forecast ({circumflex over (ϕ)}w), a day type (day), the time of day (t), and previous measured load data (Yi−1). Such a relationship is expressed in the following equation:
Loadi=ƒ({circumflex over (ϕ)}w,day,t|Yi−1)

In some embodiments, load/rate predictor1112uses a deterministic plus stochastic model trained from historical load data to predict loads Loadi. Load/rate predictor1112may use any of a variety of prediction methods to predict loads Loadi(e.g., linear regression for the deterministic portion and an AR model for the stochastic portion). Load/rate predictor1112may predict one or more different types of loads for the building or campus. For example, load/rate predictor1112may predict a hot water load LoadHot,i, a cold water load LoadCold,i, and an electric load LoadElec,ifor each time step i within the optimization period. The predicted load values Load can include some or all of these types of loads. In some embodiments, load/rate predictor1112makes load/rate predictions using the techniques described in U.S. patent application Ser. No. 14/717,593.

Load/rate predictor1112is shown receiving utility rates from utilities1136. Utility rates may indicate a cost or price per unit of a resource (e.g., electricity, natural gas, water, etc.) provided by utilities1136at each time step i in the optimization period. In some embodiments, the utility rates are time-variable rates. For example, the price of electricity may be higher at certain times of day or days of the week (e.g., during high demand periods) and lower at other times of day or days of the week (e.g., during low demand periods). The utility rates may define various time periods and a cost per unit of a resource during each time period. Utility rates may be actual rates received from utilities608or predicted utility rates estimated by load/rate predictor1112.

In some embodiments, the utility rates include demand charges for one or more resources provided by utilities1136. A demand charge may define a separate cost imposed by utilities608based on the maximum usage of a particular resource (e.g., maximum energy consumption) during a demand charge period. The utility rates may define various demand charge periods and one or more demand charges associated with each demand charge period. In some instances, demand charge periods may overlap partially or completely with each other and/or with the prediction window. Model predictive optimizer1120may be configured to account for demand charges in a high level optimization process performed by model predictive optimizer1120. Utilities1136may be defined by time-variable (e.g., hourly) prices, a maximum service level (e.g., a maximum rate of consumption allowed by the physical infrastructure or by contract) and, in the case of electricity, a demand charge or a charge for the peak rate of consumption within a certain period. Load/rate predictor1112may store the predicted loads Loadiand the utility rates in memory1110and/or provide the predicted loads Loadiand the utility rates to model predictive optimizer1120.

Degradation estimator1116can be configured to estimate the degradation states {circumflex over (δ)}kof connected equipment1132. As used herein, the variable {circumflex over (δ)}kdenotes one or more estimated degradation states of connected equipment1132at time step k. In some embodiments, the variable {circumflex over (δ)}kis a vector containing a plurality of degradation state estimates. For example, the variable {circumflex over (δ)}kmay be defined as:

δˆk=[δ^1,kδ^2,k⋮δ^n,k]
where {circumflex over (δ)}1,kis a first estimated degradation state of connected equipment1333at time step k, {circumflex over (δ)}2,kis a second estimated degradation state of connected equipment1333at time step k, and {circumflex over (δ)}n,kis a nthestimated degradation state of connected equipment1333at time step k, where n is the total number of estimated degradation states contained within vector {circumflex over (δ)}k. In various embodiments, the degradation states {circumflex over (δ)}1,k, {circumflex over (δ)}2,k, . . . {circumflex over (δ)}n,kmay represent degradation states of different devices of connected equipment1132(e.g., the degradation state of a chiller, the degradation state of a boiler, the degradation state of a fan, etc.) and/or degradation states of particular components of a device of connected equipment1132(e.g., the degradation state of a chiller's compressor, the degradation state of the same chiller's refrigerant tubes, etc.).

In some embodiments, degradation estimator1116estimates the degradation states {circumflex over (δ)}kbased on the performance variables ykreceived from connected equipment1132. Values of the performance variables ykcan be gathered by various sensors and/or other devices in a building and provided as inputs to degradation estimator1116. For example, ykcan include information such as an operating temperature of a building device as gathered by a temperature sensor, power consumption of a building device as gathered by an electrical measurement device, a current flowing through building equipment, a pressure of components in a building device, etc. Degradation estimator1116can estimate the degradation state {circumflex over (δ)}kof connected equipment1132at time step k as a function of the performance variables yk, as shown in the following equation:
{circumflex over (δ)}k=ƒ(yk)
where the function ƒ( ) is a function that relates the performance variables ykto the degradation states {circumflex over (δ)}k.

It is contemplated that the function ƒ( ) can have any of a variety of forms. For example, the function ƒ( ) may include operations that compare one or more values of the performance variables yk(or functions thereof) to design parameters of connected equipment1132and calculate the degradation states {circumflex over (δ)}kbased on the values of the performance variables ykrelative to the design parameters (e.g., a ratio of operating efficiency at time step k relative to design efficiency). In other embodiments, the function ƒ( ) may represent a degradation estimation model that can be generated empirically by degradation estimator1116. For example, degradation estimator1116may use a set of historical data from one or more building sites to train the degradation estimation model. The set of historical data may include values of the performance variables ykand corresponding values of the degradation states {circumflex over (δ)}kor values representative of the degradation states {circumflex over (δ)}k(e.g., equipment efficiency, operating cost, etc.). The degradation estimation model may include a regression model, a neural network, or any other type of model that provides a mapping between the performance variables ykand the degradation states {circumflex over (δ)}k. The estimated degradation state {circumflex over (δ)}kat time step k can be provided to degradation predictor1122.

In some embodiments, degradation estimator1116generates a raw degradation estimate {circumflex over (δ)}raw,k. The raw degradation estimate {circumflex over (δ)}raw,kmay be a function of the performance variables ykand can be calculated using the same or similar technique as the estimated degradation states {circumflex over (δ)}k. Like the estimated degradation states {circumflex over (δ)}k, the raw degradation estimate {circumflex over (δ)}raw,kmay be a vector that includes an estimated degradation state for each device of connected equipment1132and/or components of the devices of connected equipment1132. In some embodiments, the raw degradation estimate {circumflex over (δ)}raw,kis a function of the values of the performance variables ykat time step k and one or more previous time steps. For example, the raw degradation estimate {circumflex over (δ)}raw,kcan be defined as:
{circumflex over (δ)}raw,k=ƒ(Yk)
where Ykis a matrix that includes all of the values of the performance variables ykover the period of time from k−hbto k, where k is the time step at which the degradation state is evaluated and hbis a backward looking time horizon. The matrix Ykmay include a value of each performance variable at each time step from k−hbto k and may be defined as:

Yk=[y1,k-hb…y1,k⋮⋱⋮yn,k-hb…yn,k]
where y1is the first performance variable, ynis the nthperformance variable, k−hbis the first time step included in the matrix Yk(i.e., hbtime steps before time step k), and k is the last time step included in the matrix Yk. The raw degradation state {circumflex over (δ)}k,rawat time step k can be provided to degradation impact modeler1114.

In some embodiments, degradation estimator1116scales the raw degradation state {circumflex over (δ)}raw,kby a scaling factor α (e.g., by multiplying {circumflex over (δ)}raw,kby the scaling factor α) to produce a scaled degradation estimate a {circumflex over (δ)}raw,kThe scaled degradation estimate α{circumflex over (δ)}raw,krepresents a scaled output of degradation estimator1116and can be provided to degradation impact modeler1114. Scaling the values of {circumflex over (δ)}raw,kcan ensure inputs to a neural network used by degradation impact modeler1114are scaled to limit the values between a lower threshold and an upper threshold. Degradation estimator1116can provide the scaled values of α{circumflex over (δ)}raw,kto degradation impact modeler1114. If a scale value of {circumflex over (δ)}raw,kis not calculated, a can effectively be considered one (i.e. 1.0). Degradation impact modeler1114can use the values of α{circumflex over (δ)}raw,kto train a neural network to map degradation states to power model coefficients, described in greater detail below.

In some embodiments, degradation estimator1116performs an optimization process to generate a value of the scaling factor α. For example, degradation estimator1116can find value of the scaling factor α that optimizes the following objective function:

In some embodiments, degradation estimator1116separates the degradation estimation into two processes: (1) an offline process that trains a degradation estimation model with historical data from various building sites and (2) an online process that uses data from past time horizons from the specific building site at which connected equipment1132are located and estimates the current state of degradation {circumflex over (δ)}k. Calculating the values of the degradation states {circumflex over (δ)}kas a function of the performance variables ykusing the function ƒ( ) can be considered the online portion, whereas generating the degradation estimation model represented by the function ƒ( ) can be considered the offline portion.

Degradation impact modeler1114can be configured to determine the impact of the estimated degradation state {circumflex over (δ)}kor scaled degradation estimate α{circumflex over (δ)}raw,kon the cost of operating connected equipment1132. In some embodiments, the cost of operating connected equipment1132depends on the amount of electric power or other resource (e.g., water, natural gas, etc.) consumed by connected equipment1132during operation, which in turn may be a function of the degradation state. Although degradation impact modeler1114is described primarily with reference to electric power consumption, it should be understood that any other resource consumed by connected equipment1132can be used instead of electric power or in addition to electric power without departing from the teachings of the present disclosure.

Advantageously, degradation impact modeler1114can be configured to predict the power consumption of connected equipment1132as a function of the estimated degradation state {circumflex over (δ)}kor scaled degradation estimate α{circumflex over (δ)}raw,kFor ease of explanation, the following description assumes that degradation impact modeler1114uses the scaled degradation estimate α{circumflex over (δ)}raw,k. However, it should be understood that the estimated degradation state {circumflex over (δ)}kcan be used in place of or in addition to the scaled degradation estimate α{circumflex over (δ)}raw,kwithout departing from the teachings of the present disclosure. The predicted power consumption of connected equipment1132can be provided to model predictive optimizer1120for use in calculating the cost of operating connected equipment.

In some embodiments, degradation impact modeler1114is configured to generate power model coefficients φ of connected equipment1132as a function of the estimated degradation state {circumflex over (δ)}kor scaled degradation estimate α{circumflex over (δ)}raw,k. The power model coefficients φ may be coefficients of a power consumption model that is used by model predictive optimizer1120to determine that power consumption of connected equipment1132as a function of the operating decisions for connected equipment1132. For example, the power consumption model may provide a mapping between the amount of power consumed by connected equipment1132and the heating or cooling load on connected equipment1132(e.g., if connected equipment1132is a heater or chiller). More generally, the power consumption model may be a function or curve that defines the relationship between the amount of an input resource (or multiple input resources) consumed by connected equipment1132and the corresponding amount of an output resource (or multiple output resources) produced by connected equipment1132. In this regard, the power consumption model may be similar to or the same as equipment models818, described with reference toFIG.8. As the degradation state of connected equipment1132increases, degradation impact modeler1114may update the power consumption model to reflect the decreased efficiency of connected equipment1132as a result of the degradation. Accordingly, by mapping the scaled degradation estimate α{circumflex over (δ)}raw,kto the power model coefficients φ, degradation impact modeler1114can automatically adjust the power consumption model to account for equipment degradation. The updated values of the power model coefficients φ may be provided as an input to model predictive optimizer1120.

Still referring toFIG.11, model predictive optimizer1120can be configured to perform an optimization process to generate the maintenance schedule mkfor connected equipment1132along with operating decisions for connected equipment1132. Model predictive optimizer1120may receive the degradation estimate {circumflex over (δ)}kfrom degradation estimator1116, the load and rate predictions from load/rate predictor1112, and the power model coefficients φ from degradation impact modeler1114. Model predictive optimizer1120may use these inputs to perform an optimization process that seeks to optimize (e.g., minimize) the total cost of operating connected equipment1132and performing maintenance on connected equipment1132over a given time period (i.e., the optimization period).

The maintenance schedule mkmay be provided as an output of the optimization process performed by model predictive optimizer1120. It should be appreciated that mkcan be likewise referred to as a maintenance schedule, a maintenance and replacement schedule, and/or a maintenance strategy. The maintenance schedule mkcan include various information such as when connected equipment1132should have maintenance or replacement performed, specific building devices of connected equipment1132to have maintenance or replacement performed, equipment parts required for the maintenance or replacement activities, etc. It should be understood that the maintenance schedule mkis not limited to maintenance activities and can also include replacement activities, equipment upgrades, adding new equipment that does not replace existing equipment, or any other type of service or modification that alters the set of connected equipment1132as a whole. In general, the maintenance schedule mkcan include any information necessary for connected equipment1132to be suitably maintained, replaced, upgraded, repaired, and/or otherwise serviced.

Model predictive optimizer1120is shown to include a degradation predictor1122and a cost calculator1124. Degradation predictor1122can be configured to predict future degradation states {circumflex over (δ)}k+1of connected equipment1132at one or more time steps after time step k. In some embodiments, degradation predictor1122uses a degradation prediction model to predict the future degradation states {circumflex over (δ)}k+1as a function of the degradation states {circumflex over (δ)}kat time step k and the maintenance schedule mkfor time step k. For example, the future degradation states {circumflex over (δ)}k+1can be predicted using the following equation:
{circumflex over (δ)}k+1=ƒ({circumflex over (δ)}k,mk)
where {circumflex over (δ)}k+1is a vector of the future degradation states of connected equipment1132at a future time step k+1 (i.e., a time step after k) and mkis the maintenance schedule at time step k. In some embodiments, the maintenance schedule mkis generated by cost calculator1124and provided back to degradation predictor1122to predict the future degradation states {circumflex over (δ)}k+1.

In some embodiments, both the maintenance schedule mkand the future degradation states {circumflex over (δ)}k+1are generated as results of an optimization process performed by model predictive optimizer1120. The optimization process may seek to optimize (e.g., minimize) the total cost of operating connected equipment1132and performing maintenance on connected equipment1132over a given time horizon. The cost of operating connected equipment1132at the future time step k+1 can be defined as a function of the future degradation states {circumflex over (δ)}k+1. Both the cost of performing maintenance on connected equipment1132and the future degradation states {circumflex over (δ)}k+1can be defined as functions of the maintenance schedule mk. For example, maintenance/replacement activities that occur at time step k can affect (e.g., improve) a degradation state of connected equipment1132and therefore can affect a predicted degradation state at time step k+1. Accordingly, the optimization performed by model predictive optimizer1120may generate optimal values of the maintenance schedule mkand the resulting future degradation states {circumflex over (δ)}k+1. The future degradation states {circumflex over (δ)}k+1may be provided as an input to degradation impact modeler1114and used by degradation impact modeler1114to determine the corresponding values of the power model coefficients φk+1at the future time step.

Cost calculator1124is shown to include a reliability model1126and a system model1128. Reliability model1126can be used to estimate projections of reliability forward in time for connected equipment1132. In this way, reliability model1126can incorporate a risk of failure of connected equipment1132into the optimization problem solved by model predictive optimizer1120. System model1128may model the operating performance of connected equipment1132and may include the power consumption model described above (or any other model that relates input resource consumption to output resource generation). In some embodiments, system model1128has parameters φ as well as the independent variable inputs x. For example, system model1128may have the form:
p=pequip(φ;x)
where p is the predicted power consumption of connected equipment1320, pequipis a function that defines power consumption p as a function of the power model parameters φ and the independent variables x, φ includes estimated power parameters, and x is a matrix or vector of power estimation predictors (i.e., independent variables).

For example, in a variable refrigerant flow (VRF) system, system model1128may define the power consumption of VRF equipment (i.e., a type of connected equipment1132) as a function of one or more model parameters φ and a set of independent variable inputs x that represent the heating and cooling loads on the system (i.e., {circumflex over (Q)}hand {circumflex over (Q)}c) as well as the temperature lift {circumflex over (T)}lift(i.e., the difference between outdoor air temperature and a setpoint temperature value). Accordingly, the matrix or vector of independent variable inputs x can be defined as:

x=[QˆcQˆhTˆlift]
where {circumflex over (Q)}cis the estimated cooling load, {circumflex over (Q)}his the estimated heating load, and {circumflex over (T)}liftis a lift temperature. Although x is shown as a vector in the equation above, it should be understood that each of the variables {circumflex over (Q)}c, {circumflex over (Q)}h, and {circumflex over (T)}liftmay include multiple values (e.g., one value for each time step. The multiple values of {circumflex over (Q)}c, {circumflex over (Q)}h, and {circumflex over (T)}liftcan be included in x by adding another dimension to x, in which case x becomes a 3 by n matrix where n is the total number of time steps included in the matrix x.

Continuing the example of the VRF system, the system model1128for the VRF system can be defined as:
P=Pdesign((φ1·max({circumflex over (Q)}c,{circumflex over (Q)}h)+φ2·|{circumflex over (Q)}c−{circumflex over (Q)}h|φ3·max({circumflex over (Q)}c,{circumflex over (Q)}h)·{circumflex over (T)}lift)
where p is the power consumption of the VRF equipment, Pdesignis the design power of the VRF equipment, φ1, φ2, and φ3are parameters of the system model1128, and the remaining variables are the same as previously described.

Cost calculator1124may use the power model coefficients φk+1provided by degradation impact modeler1114to update system model1128and may use the updated system model1128to formulate the optimization problem. For example, cost calculator1124may use system model1128to define a relationship between the power consumption of connected equipment1132and the load served by connected equipment1132. The relationship between power consumption and load served may be imposed as a constraint on the optimization problem solved by model predictive optimizer1120.

Cost calculator1124can be configured to obtain (e.g., generate, receive, formulate, etc.) an objective function J that is optimized by model predictive optimizer1120. An example of such an objective function J is:

J⁡(mk)=∑l=khb+k-1{cop,i(δi)+[cmain,icreplace,i]T⁢mi+cfail,iT⁢pfail,i(δi)}
where mkis a maintenance and replacement schedule, k is a given time step (past, present, or future) hbis a backward optimization horizon (backward from the time step k), cop,i(δi) is an operational cost dependent on a degradation state δiat time step i, cmain,iis a cost of maintenance at time step i, creplace,iis a replacement cost at time step i, miis a binary vector representing which maintenance actions are taken at time step i, cfail,iis a cost of failure of building equipment at time step i, and pfail,i(δi) is a vector of probabilities of failure for each component of building equipment dependent on the state of degradation δi. In the above objective function, the T superscript indicates a transpose of the associated matrix. Values of cfail,kcan include a cost to repair/replace the tracked building equipment and/or any opportunity costs related to failure of the tracked building equipment.

It should be appreciated that a first portion of the maintenance vector mi(i.e., the portion to which maintenance costs cmain,iare applied) includes maintenance decisions, whereas a second portion of the maintenance vector mi(i.e., the portion to which replacement costs Creplace,iare applied) includes replacement decisions. For example, the maintenance vector mican be defined as

mi=[mmain,imreplace,i].
Each maintenance action mmain,iis associated with a corresponding maintenance cost cmain,iwhereas each replacement action mreplace,iis associated with a corresponding replacement cost creplace,i. Further, it should be appreciated that cfail,kTpfail,k(δk) represents a risk cost term of the objective function. In some embodiments, the probability of failure (PoF) given each degradation state, pfail,k(δk), can be an output of reliability model1126.

The objective function J is shown as a summation of three costs. The first term of the objective function J (i.e., cop,i(δi)) represents the total cost of operating connected equipment1132over the time period from time step k to time step hb+k−1. The second term of the objective function J (i.e.,

[cmain,icreplace,i]T⁢mi)
represents the total cost of performing any of the maintenance or replacement activities defined by the maintenance vector mion connected equipment1132over the time period from time step k to time step hb+k−1. The third term of the objective function J (i.e., cfail,iTpfail,k(δk)) represents the total cost of failure of connected equipment1132over the time period from time step k to time step hb+k−1. The time step k can be any time step in the past, present, or future. Accordingly, the time period ranging from time step k to time step hb+k−1 may be entirely in the past; partially in the past and partially in the present; partially in the past, present, and future; partially in the present and partially in the future; or entirely in the future in various embodiments.

Model predictive optimizer1120can be configured to perform an optimization of the objective function J subject to a set of constraints. The constraints may include the power consumption model or any other type of system model1128that defines the relationship between the operating cost cop,iand the load served by connected equipment1132. For example, one constraint on the objective function J may be a power consumption model that defines the amount of power consumed p1as a function of the load served by connected equipment and the power model parameters φ1. Another constraint on the objective function J may be a cost model that defines the operating cost cop,ias a function of the amount of power consumed piand the pricing data received from utilities1136. Another constraint on the objective function J may be a model that defines the relationship between the probability of failure pfail,iand the degradation state δi. Another constraint on the objective function J may require connected equipment1132to satisfy the predicted heating or cooling load provided by load/rate predictor1112. Another constraint on the objective function J may require connected equipment1132to operate within their respective capacity limits (e.g., limiting the amount of input resources consumed, output resources produced, or other capacity-related variables at each time step). Other constraints on the objective function J can include any of the equations or relationships described with reference to operational cost predictor910, maintenance cost predictor920, and capital cost predictor930, as described with reference toFIG.9.

Model predictive optimizer1120can perform an optimization of the objective function J, subject to the constraints, to determine the maintenance schedule mkas well as operating decisions for connected equipment1132. The maintenance schedule mkcan be provided to maintenance scheduler1118, which may operate to schedule maintenance/replacement activities to be performed by service providers1130at times indicated by mk. In some embodiments, maintenance scheduler1118selects a particular service provider1330by determining available service providers1130that are capable of performing a maintenance/replacement activity indicated by mkat a particular time. If mkindicates multiple maintenance/replacement activities to be performed, maintenance scheduler1118may schedule each particular activity at an associated time. It should be appreciated that different service providers1130can be scheduled for different maintenance/replacement activities. In other words, the same service provider1330need not perform all maintenance/replacement activities indicated by mk.

Service providers1130may receive service requests from maintenance scheduler1118and perform the requested maintenance/replacement activities. As a result of the maintenance/replacement activity, the degradation state of connected equipment1132can be improved (e.g., reduced). In this way, operational costs associated with connected equipment1132can be reduced. The maintenance/replacement activities performed by service providers1130can include any number of maintenance/replacement activities as indicated by mkand scheduled by maintenance scheduler1118.

Degradation Impact Modeling

Referring now toFIG.12, a block diagram illustrating degradation impact modeler1114in greater detail is shown, according to an exemplary embodiment. As discussed above, degradation impact modeler1114may be configured to generate power model coefficients φ of connected equipment1132as a function of the estimated degradation state {circumflex over (δ)}k. The power model coefficients φ may be coefficients of a power consumption model that is used by model predictive optimizer1120to determine that power consumption of connected equipment1132as a function of the operating decisions for connected equipment1132. For example, the power consumption model may provide a mapping between the amount of power consumed by connected equipment1132and the heating or cooling load on connected equipment1132(e.g., if connected equipment1132is a heater or chiller).

Although degradation impact modeler1114is described primarily with reference to electric power consumption, it should be understood that any other resource consumed by connected equipment1132can be used instead of electric power or in addition to electric power without departing from the teachings of the present disclosure. For example, the power consumption model may be a function or curve that defines the relationship between the amount of an input resource (or multiple input resources) consumed by connected equipment1132and the corresponding amount of an output resource (or multiple output resources) produced by connected equipment1132, even if none of the input resources or output resources are electric power. In some embodiments, the input resource is electric power and the output resources are heating or cooling load. However, the input resource and output resource can be replaced with any other resources in various embodiments. For example, a gas-fueled boiler may consume natural gas as the input resource instead of electric power.

In some embodiments, degradation impact modeler1114uses a neural network1212to generate the power model coefficients φNNas a function of the estimated degradation state {circumflex over (δ)}k. Degradation impact modeler1114may train the neural network1212using a set of training data that includes input values of the estimated degradation state {circumflex over (δ)}kand corresponding values of the power model coefficients φreg. The values of the estimated degradation state {circumflex over (δ)}kin the training data may be generated by degradation estimator1116as described above. The values of the power model coefficients φregin the training data may be generated by performing a regression process, described in greater detail below. As used herein, the variable φNNdenotes the power model coefficients generated by neural network1212, whereas the variable φregdenotes the power model coefficients generated by performing the regression process. Although degradation impact modeler1114is described primarily as using neural network1212to generate the power model coefficients and/or predict the resource consumption as a function of the estimated degradation state, it should be understood that any other type of model (i.e., other than neural network models) can be used in addition to or in place of neural network1212. Examples of such models may include regression models, polynomial models, physics-based models, linear or nonlinear models, static or dynamic models, discrete or continuous models, deterministic or stochastic models, or any other type of model that relates the estimated degradation state to the power model coefficients and/or the predicted resource consumption.

Degradation impact modeler1114is shown to include a data preprocessor1202. Data preprocessor1202can be configured to associate values of the performance variables ykwith corresponding values of the estimated degradation state {circumflex over (δ)}k. The performance variables ykmay include any of a variety of variables that characterize the performance of connected equipment1132including for example, power consumption, natural gas consumption, water consumption, heating load produced, cooling load produced, temperature lift, or any other variable that indicates the resource consumption or production of connected equipment1132or characterizes the performance of connected equipment1132. In some embodiments, data preprocessor1202generates a plurality of different sets of preprocessed data. Each set of preprocessed data may include a value of the estimated degradation state {circumflex over (δ)}kand corresponding values of the performance variables yk.

In some embodiments, data preprocessor1202prepares the raw input data to be used by regression power model generator1204. For example, data preprocessor1202may modify the input data such that it fits an expected form for use in the power regression model. Prior to being processed, a raw dataset can include one or more files (e.g., an Excel file) which are a combination of both cooling and heating mode data. Each file in the raw dataset can be related to a specific degradation case that has been generated by simulation for an amount of time (e.g., one hour, two hours, etc.). Each file can include several feature columns. However, only specific features of the raw dataset may be needed by regression power model generator1204.

Data preprocessor1202can be configured to extract information from the raw data including a degradation state, a power value, a load value, {circumflex over (T)}lift, {circumflex over (P)}lift, etc. Data preprocessor1202can also organize the extracted information based on the degradation state. In particular, information related to the same degradation state can be concatenated together. In some embodiments, the processed data is divided into processed data files. Each processed data file can include both heating and cooling mode information. As a result of performing the preprocessing, data preprocessor1202can generate one or more data files such that each data file relates to a different degradation case and is ready to feed to regression power model generator1204.

Regression power model generator1204can be configured to perform a regression process to generate a set of power model coefficients φregand related uncertainties based on the preprocessed data. The power model coefficients φregparameters may be used to train neural network1212. To obtain the power model coefficients φregand related uncertainties, regression power model generator1204can perform a regression process, using the preprocessed data as training data, to generate a power consumption regression model. For example, the preprocessed data may include values of power consumption P, heating load {dot over (Q)}h, cooling load {dot over (Q)}c, temperature lift Tlift, or any other variable included in the power consumption regression model. Regression power model generator1204can use any of a variety of regression techniques (e.g., ordinary least squares, linear, nonlinear, weighted least squares, ridge regression, etc.) to generate the power model coefficients φreg. The following equation is one example of the power consumption model for which the power model coefficients φregcan be generated:
P=φ1*max({dot over (Q)}c,{dot over (Q)}h)+φ2*max({dot over (Q)}c,{dot over (Q)}h)*Tlift
where P is a power value, φ1and φ2are the power model coefficients, {dot over (Q)}cis an estimated cooling load, {dot over (Q)}his an estimated heating load, and Tliftis the difference between the outside ambient temperature and the predefined setpoint value.

In some embodiments, it may be desirable to have uncorrelated predictors in the power consumption model. In other words, it may be desirable that the terms of the power consumption model are not correlated with each other. Regression power model generator1204can be configured to reduce or eliminate correlation between the two predictors max({dot over (Q)}c, {dot over (Q)}h) and max({dot over (Q)}c, {dot over (Q)}h)*Tlift. Eliminating the correlation can be achieved using orthogonalization by performing two consecutive regression steps.

In some embodiments, regression power model generator1204performs the first regression step using the following model:
max({dot over (Q)}c,{dot over (Q)}h)*Tlift=φ1*max({dot over (Q)}c,{dot over (Q)}h)+Residual of(max({dot over (Q)}c,{dot over (Q)}h)*Tlift)

In the first regression step, a regression model can be constructed for the second predictor (i.e., max({dot over (Q)}c, {dot over (Q)}h)*Tlift) based on the first predictor (i.e., max({dot over (Q)}c, {dot over (Q)}h)). The residual obtained in the first regression step (i.e., Residual of (max({dot over (Q)}c, {dot over (Q)}h)*Tlift)) indicates the amount of the second predictor that is orthogonal or uncorrelated with the first predictor. Regression power model generator1204can provide the values of heating load {dot over (Q)}h, cooling load {dot over (Q)}c, and temperature lift Tliftas inputs to the regression process to determine the values of φ1and the residual Residual of (max({dot over (Q)}c, {dot over (Q)}h)*Tlift).

In some embodiments, regression power model generator1204performs the second regression step using the following model:
P=φ1′*max({dot over (Q)}c,{dot over (Q)}h)+φ2′*Residual of(max({dot over (Q)}c,{dot over (Q)}h)*Tlift)
where P is the desired variable of power. Regression power model generator1204can provide the values of power consumption P, heating load {dot over (Q)}h, cooling load {dot over (Q)}c, and the residual Residual of (max({dot over (Q)}c, {dot over (Q)}h)*Tlift) as inputs to the second regression step to determine the values of φ1′ and φ2′ and their related uncertainties. Accordingly, the final outputs of the regression process are the power model coefficients φ1′ and φ2′ and their related uncertainties (for parameters total). φ1′ and φ2′ are also referred to as φ1,regand φ2,regrespectively, or φregcollectively, throughout the present disclosure. In some embodiments, regression power model generator1204removes outputs which have p-values greater than a threshold value (e.g., 0.1).

Regression power model generator1204can be configured to repeat the regression process for each set of the preprocessed data to generate a plurality of different sets of power model coefficients φreg. Each set of the power model coefficients φregmay be associated with a corresponding set of estimated degradation states {circumflex over (δ)}k. Regression power model generator1204can update the sets of preprocessed data provided by data preprocessor1202to include the values of the power model coefficients φregthat were generated from the corresponding values of the performance variables ykand may associate each set of the power model coefficients φregwith the degradation states {circumflex over (δ)}kpreviously associated with the corresponding values of the performance variables yk. From a physical standpoint, the set of power model coefficients φregrepresents the relationship between resource consumption (e.g., power consumption) and resource production (e.g., heating or cooling load) predicted to result from the corresponding degradation states {circumflex over (δ)}k.

Degradation impact modeler1114is shown to include an input scaler1206and an input weighter1208. In some embodiments, prior to using the sets of power model coefficients φregand corresponding degradation states {circumflex over (δ)}kas inputs to train neural network1212, input scaler1206may scale these inputs to limit their values between a lower threshold and an upper threshold. For example, input scaler1206may add or subtract a scaling value from the inputs and/or multiply the inputs by a scaling factor to ensure that each input has a value between the lower and upper thresholds. In some embodiments, input scaler1206standardizes (e.g., modifies, adjusts, etc.) the input data such that adjusted values have zero mean and unity variance.

Input weighter1208can be configured to assign a weight to each set of power model coefficients φregand corresponding degradation states {circumflex over (δ)}k. It may be beneficial in training neural network1212if inputs that correspond to more efficient operation of connected equipment1132(e.g., higher coefficient of performance (COP) values) have a larger effect on training neural network1212as compared to inputs that correspond to less efficient operation of connected equipment1132(e.g., lower COP values). Input weighter1208can apply a weighting function to the inputs to assign larger weights to inputs with higher COP values and smaller weights to inputs with higher COP values.

To generate the weight function, input weighter1208can divide the model used in the second regression step described above by the variable max({dot over (Q)}c, {dot over (Q)}h). This results in the left side of the equation being the inverse of the coefficient of performance (i.e., 1/COP) and the right side of the equation being proportional to φ1′. Accordingly, this relationship is defined as:

φ1′∝1COP
Due to the inverse relationship between φ1′ and COP, input weighter1208can generate a weighting function that assigns weights that are inversely proportional to the value of φ1′. An example of such a weighting function is:
weight=101-φ1′

Referring still toFIG.12, neural network trainer1210is shown receiving scaled inputs input scaler1206(e.g., the power model coefficients φreg) and the corresponding input weights from input weighter1208. Neural network trainer1210may also receive the estimated degradation states {circumflex over (δ)}kfrom degradation estimator1116. Neural network trainer1210may use these inputs to train neural network1212. In some embodiments, neural network1212is a radial basis function neural network (RBFNN). However, other various types of neural networks can be used. Neural network trainer1210can train neural network1212to map between the degradation states {circumflex over (δ)}kand the power model parameters φreg. Accordingly, once neural network1212has been trained, the output of neural network1212(i.e., φNN) may be the same as or similar to the values of φregused to train neural network1212.

Neural network1212can be configured to map degradation states {circumflex over (δ)}kof connected equipment1132to the power model coefficients φNN, which can be used to calculate predicted operational costs for connected equipment1132. The degradation states {circumflex over (δ)}kcan specify which of the degradation indices is contributing to coefficients of power (COP) reduction. For this reason, it can be desirable to have a standard COP calculation from the degradation states {circumflex over (δ)}kthat is consistent with a standard COP calculation from measuring the site data. For example, a standard COP calculation can be given by the following equation:
COP(Φreg,xstandard,w)=COP((φNN,xstandard,w)
where φregare the values of the power model coefficients generated by regression power model generator1204, xstandardis a standard matrix of power estimation predictors, w is a weight calculated by a weight function, and φNNare the power model coefficients generated by neural network1212. The previous equation shows that the two COP calculations are equivalent, regardless of whether the power model coefficients φregor φNNare used.

Advantageously, neural network1212benefits the MPM optimization process performed by MPM system1100. In some embodiments, neural network1212accepts degradation states {circumflex over (δ)}kas inputs (e.g., refrigerant leakage, compressor power, and airflow restriction) and outputs values of the power model coefficients φNNparameters as well as their related uncertainties. The power model coefficients φNNgenerated by neural network1212may be used in place of the power model coefficients φreggenerated by regression power model generator1204when calculating the power consumption and resulting operating cost of connected equipment1132.

In some embodiments, the data used to train neural network1212is generated using a simulation framework. The simulation framework can be used to generate a variety of degradation cases that can be used to train neural network1212. In some embodiments, a simulation platform such as Simulink is used to generate the operational simulation data of the system. Further, neural network1212can be retrained as new data is obtain obtained. Retraining neural network1212can ensure neural network1212properly maps degradation states {circumflex over (δ)}kto power model coefficients φNNeven as the system changes.

In some embodiments, degradation impact modeler1114trains neural network1212to map the degradation state {circumflex over (δ)}kto power consumption or other resource consumption of connected equipment1132. For example, neural network trainer1210can receive a set of training data including the estimated degradation states {circumflex over (δ)}kat each time step k from degradation estimator1116along with data indicating the amounts of input resources consumed and output resources produced at each time step k. The amounts of resources consumed and produced at each time step k may be indicated by the performance variables yk.

Neural network trainer1210can use these training data to train neural network1212to predict the amount of one or more input resources consumed by connected equipment1132as a function of both the degradation states {circumflex over (δ)}kand the requested amount(s) of one or more output resources to be produced by connected equipment1132. For example, for a VRF system, neural network1212can be trained to predict the amount of power consumed at time step k as a function of the degradation states {circumflex over (δ)}kof the VRF equipment at time step k as well as the requested heating load or cooling load to be served by the VRF equipment at time step k. In this way, neural network1212can be trained to predict resource consumption as a function of both the degradation states {circumflex over (δ)}kand the requested load on connected equipment1132without explicitly generating power model coefficients φNNin some embodiments.

Event or Condition Driven Model Predictive Maintenance

Overview

Referring particularly toFIGS.13-20, an MPM system1300is configured to monitor performance indicators (e.g., conditions or events) to initiate a model predictive maintenance routine in an event or condition-driven manner. In some embodiments, MPM system1300is the same as or similar to MPM system1100, MPM system602, etc., as described in greater detail above. In some embodiments, MPM system1300(e.g., MPM controller1302) is configured to perform process1000as described in greater detail above with reference toFIG.10.

MPM systems can provide optimized dispatch to future maintenance for customers. MPM functionality may be tailored or designed for particular applications (e.g., particular equipment or a particular building system) through known configuration or setting or behaviors of system components. In some embodiments, MPM systems are configured for use with VRF systems based on empirical data or studies performed at different sites.

Each time MPM is performed at a site (e.g., each time model predictive optimizer1120performs its functionality), results of the MPM technique may suggest a different schedule of maintenances (e.g., different maintenance schedules mk). In some embodiments, model predictive optimizer1120performs its functionality at scheduled intervals. In some embodiments, MPM controller1302(shown inFIG.13) can be configured to use prognosis and health management (PHM) data to determine when to initiate the functionality of model predictive optimizer1120. PHM seeks to estimate health status of assets (e.g., of the connected equipment1132) based on real-time sensor measurements and analytics. In some embodiments, results of PHM techniques (e.g., degradation estimation or prediction) reflect a score of the system (e.g., of connected equipment1132or a health of a system of building equipment).

In some embodiments, MPM system1300may experience unexpected events (e.g., rapid equipment degradation, failure, etc.). In some embodiments, MPM system1300is configured to monitor various conditions (e.g., sensor data, degradation predictions, degradation estimations, etc.) and initiate the functionality of model predictive optimizer1120at non-scheduled intervals. In this way, MPM controller1302can initiate non-scheduled MPM functionality based on monitored conditions (e.g., based on performance indicator(s)) that can indicate a health status of various components (e.g., equipment1132) of the system.

MPM Controller

Referring still toFIG.13, MPM system1300includes MPM controller1302, according to some embodiments. MPM controller1302is shown to include a communications interface1304and a processing circuit1306. Communications interface1304may include wired or wireless interfaces (e.g., jacks, antennas, transmitters, receivers, transceivers, wire terminals, etc.) for conducting data communications with various systems, devices, or networks. For example, communications interface1304may include an Ethernet card and port for sending and receiving data via an Ethernet-based communications network and/or a Wi-Fi transceiver for communicating via a wireless communications network. Communications interface1304may be configured to communicate via local area networks or wide area networks (e.g., the Internet, a building WAN, etc.) and may use a variety of communications protocols (e.g., BACnet, IP, LON, etc.).

Communications interface1304may be a network interface configured to facilitate electronic data communications between MPM controller1302and various external systems or devices (e.g., connected equipment1132, utilities1136, weather service1134, service providers1130, etc.). For example, MPM controller1302may receive performance variables ykfrom connected equipment1132indicating one or more measured states of the controlled building (e.g., temperature, humidity, electric loads, etc.) and/or equipment performance information (e.g., run hours, power consumption, operating efficiency, etc.). Communications interface1304may receive inputs from utilities1136, weather service1134, connected equipment1132and may provide a maintenance schedule mkor service requests to service providers1130or other external systems or devices.

Processing circuit1306is shown to include a processor1308and memory1310. Processor1308may be a general purpose or specific purpose processor, an application specific integrated circuit (ASIC), one or more field programmable gate arrays (FPGAs), a group of processing components, or other suitable processing components. Processor1308may be configured to execute computer code or instructions stored in memory1310or received from other computer readable media (e.g., CDROM, network storage, a remote server, etc.).

Memory1310may include one or more devices (e.g., memory units, memory devices, storage devices, etc.) for storing data and/or computer code for completing and/or facilitating the various processes described in the present disclosure. Memory1310may include random access memory (RAM), read-only memory (ROM), hard drive storage, temporary storage, non-volatile memory, flash memory, optical memory, or any other suitable memory for storing software objects and/or computer instructions. Memory1310may include database components, object code components, script components, or any other type of information structure for supporting the various activities and information structures described in the present disclosure. Memory1310may be communicably connected to processor1308via processing circuit1306and may include computer code for executing (e.g., by processor1308) one or more processes described herein.

MPM controller1302can be the same as or similar to MPM controller1102and may be configured to perform similar functionality as MPM controller1102. Specifically, memory1310of MPM controller1302includes a runtime manager1312. Runtime manager1312is configured to initiate the functionality of model predictive optimizer1120(e.g., to perform MPM) by providing a command to model predictive optimizer1120. In some embodiments, the command is generated by runtime manager1312and provided to model predictive optimizer1120at non-scheduled intervals. For example, model predictive optimizer1120may be configured to perform its functionality periodically (e.g., daily, weekly, bi-weekly, monthly, etc.) and runtime manager1312can be configured to initiate non-scheduled runs of model predictive optimizer1120based on real-time conditions, estimations, or predictions.

More generally, runtime manager1312can use one or more performance indicator(s) and determine if a condition is met that indicates that MPM should be initiated. In response to determining that the condition has been satisfied, runtime manager1312can be configured to provide the command to model predictive optimizer1120to initiate MPM. In some embodiments, runtime manager1312is configured to run continuously (e.g., between scheduled implementations of model predictive optimizer1120) to determine non-scheduled or event-based times at which model predictive optimizer1120should be initiated.

Runtime manager1312can use different performance indicator(s) and thresholds to identify if a condition has been met that indicates that model predictive optimizer1120should be initiated. In some embodiments, runtime manager1312is configured to receive the performance indicator(s) from model predictive optimizer1120. In some embodiments, the performance indicator(s) include one or more performance variables of the connected equipment1132(e.g., efficiency, setpoints, temperature readings, humidity readings, sensor data, etc.), the estimated degradation states {circumflex over (δ)}k, predicted future degradation states {circumflex over (δ)}k+1, etc. The performance indicator(s) can be obtained by runtime manager1312from model predictive optimizer1120, degradation impact modeler1114, degradation estimator1116, directly from connected equipment1132, from sensors, etc., for use in determining if model predictive optimizer1120should be initiated.

Runtime manager1312can also receive a user input from a user input device1314(e.g., a user interface device, a touchscreen display, a wirelessly communicable device, etc.). In some embodiments, the user input is or indicates a command to initiate model predictive optimizer1120.

Referring particularly toFIG.14, runtime manager1312is shown in greater detail, according to some embodiments. Runtime manager1312includes a threshold generator1402, a rate of change manager1404, an artificial intelligence (AI) threshold generator1406, a condition manager1408, an MPM initiator1410, and a variance estimator1412. Runtime manager1312is configured to receive one or more performance variables yk(e.g., a temperature Tkwithin a building zone that the connected equipment1132serves or operates to affect, a humidity φkwithin the building zone that the connected equipment1132serves or operates to affect, a power consumption of the connected equipment1132, an efficiency of the connected equipment1132, etc.), according to some embodiments. In some embodiments, runtime manager1312is configured to receive one or more predicted values of the future degradation {circumflex over (δ)}k+1of any of the connected equipment1132. In some embodiments, runtime manager1312is configured to receive one or more values of the estimated degradation {circumflex over (δ)}k.

In some embodiments, runtime manager1312is configured to perform the functionality of degradation impact modeler1114, degradation estimator1116, degradation predictor1122, etc. In this way, runtime manager1312can operate to determine predicted values of the future degradation {circumflex over (δ)}k+1or the estimated degradation {circumflex over (δ)}keven if model predictive optimizer1120is inactive or dormant.

Condition manager1408is configured to perform a comparison between any of the performance indicator(s) or a rate of change of any of the performance indicator(s) and a corresponding threshold value. In some embodiments, condition manager1408is configured to determine if a condition has been met that indicates that model predictive optimizer1120should be initiated.

Performance Indicator Threshold Event/Condition

For example, condition manager1408may directly use any of the performance indicator(s) and compare the performance indicator to a threshold amount ythresh. In some embodiments, condition manager1408compares a current value of one of the performance variables yk(e.g., the efficiency of the connected equipment1132) to the threshold amount ythresh. If condition manager1408determines that the current value of the performance variable ykis greater than or less than the threshold amount ythresh, condition manager1408may determine that the condition has been met and that model predictive optimizer1120should be initiated. In some embodiments, condition manager1408uses multiple threshold values. For example, each performance variable can have a first associated threshold range between a first threshold value ythresh,1and a second threshold value ythresh,2that indicates proper operation (or that model predictive optimizer1120should not be initiated). Likewise, each performance variable can have a second associated threshold range between the second threshold value ythresh,2and a third threshold value ythresh,3that indicates that model predictive optimizer1120should be initiated. Finally, each performance variable can have a third associated threshold range between the third threshold value ythresh,3and a fourth threshold value ythresh,4that indicates that the connected equipment1132is inoperational (e.g., at a point where the connected equipment1132should be replaced).

Condition manager1408can use the different threshold ranges (e.g., the first, second, and third threshold ranges) and the value of the corresponding performance variable ykto identify if model predictive optimizer1120should be initiated. Condition manager1408can compare the value of the corresponding performance variable ykto any of the threshold amounts to determine which of the threshold ranges the current value of the performance variable yklies within. It should be understood that each of the different performance variables ykmay have different associated or corresponding threshold values (e.g., different values of ythresh,1, ythresh,2, ythresh,3, and ythresh,4).

If condition manager1408determines that the condition has been satisfied (e.g., that the current value of the performance variable yklies within the second threshold range), condition manager1408can notify MPM initiator1410that the condition has been met, according to some embodiments. In some embodiments, MPM initiator1410generates and provides a command to model predictive optimizer1120to perform its functionality1120in response to receiving the notification from condition manager1408.

In some embodiments, condition manager1408is configured to use values of the degradation estimation {circumflex over (δ)}kand/or the degradation prediction {circumflex over (δ)}k+1instead of or addition to the values of the performance variable(s) yk. In some embodiments, condition manager1408compares the values of the degradation estimation {circumflex over (δ)}kand/or the degradation prediction {circumflex over (δ)}k+1to corresponding threshold values to identify which of multiple threshold ranges the degradation estimation {circumflex over (δ)}kand/or the degradation prediction {circumflex over (δ)}k+1lie within. If the degradation estimation {circumflex over (δ)}kand/or the degradation prediction {circumflex over (δ)}k+1lie within a threshold range that indicates model predictive optimizer1120should be initiated, condition manager1408can generate and provide a command to model predictive optimizer1120to initiate model predictive optimizer1120.

Referring particularly toFIG.14andFIG.15, graph1500illustrates different threshold ranges1506,1508, and1512for the performance indicator(s), according to some embodiments. In some embodiments, the different threshold ranges1506,1508, and1512are defined by different threshold values1502,1504, and1510. The different threshold values1502,1504, and1510are values of the performance indicators that define the threshold ranges1506,1508, and1512. For example, the first threshold range1506is defined between the first threshold value1502and the second threshold value1504, the second threshold range1508is defined between the second threshold value1504and the third threshold value1510, and the third threshold range1512is defined between the third threshold value1510and a fourth threshold value, or is unbounded.

The first threshold range1506shows values of the performance indicator over time that indicate satisfactory performance of the connected equipment1132, according to some embodiments. The second threshold range1508shows values of the performance indicator over time that indicate unsatisfactory performance of the connected equipment1132(e.g., associated with an initiation of model predictive optimizer). The third threshold range1512indicates a failure event of the connected equipment1132. In some embodiments, the values of the thresholds1502,1504, and1510are unique or tailored for each of the different performance indicators. In this way, runtime manager1312can monitor and track each of the performance indicators over time and initiate model predictive optimizer1120when one or more of the performance indicators lies within or trends into the second threshold range1508.

User Input Event/Condition

Referring again toFIG.14, condition manager1408can also be configured to determine if runtime manager1312has received a user input indicating that model predictive optimizer1120should be initiated. Condition manager1408can provide a notification to MPM initiator1410in response to receiving the user input so that MPM initiator1410provides the command to model predictive optimizer1120to perform MPM.

For example, the user input may be a decision to perform maintenance at a time or in a manner that is not recommended by MPM system1300. For example, the user may view the maintenance schedule and determine that additional maintenance should be performed at a non-scheduled time, or that it is desirable to run model predictive optimizer1120at a non-scheduled time.

In some embodiments, the user input is a decision to skip maintenance that is recommended by MPM system1300, thereby resulting in an unexpected departure from the recommended maintenance schedule or scheduled implementation of model predictive optimizer1120. In some embodiments, the user input is a simple command to perform the functionality of model predictive optimizer1120. In some embodiments, the user input is a manual adjustment to one or more parameters that are used by or considered by model predictive optimizer1120. In some embodiments, the user input is an adjustment to a model used by model predictive optimizer1120(e.g., to include new equipment or remove equipment). For example, the user input may indicate a rearrangement of connected equipment1132, an addition of new connected equipment1132, or a removal of connected equipment1132.

Rate of Change of Performance Indicators Event/Condition

Referring still toFIG.14, runtime manager1312includes rate of change manager1404, according to some embodiments. Rate of change manager1404is configured to receive any of the performance indicator(s) (e.g., the performance variable(s), the degradation prediction, the degradation estimate, etc.) and determine, calculate, estimate, etc., a rate of change (e.g., a time rate of change) of any of the performance indicator(s) (e.g., {dot over (y)}k,k, ork+1). In some embodiments, rate of change manager1404is configured to estimate, calculate, determine, etc., a difference or a delta between values of any of the performance indicator(s) at subsequent time steps. For example, rate of change manager1404may determine an average rate of change, a change amount (e.g., an increase or a decrease amount) between subsequent time steps, an instantaneous rate of change, etc., of any of the performance indicators (e.g., the performance variables yk, the degradation prediction, the degradation estimate, etc.).

Rate of change manager1404can provide any of the rates of changes of the performance indicator(s) to condition manager1408. In some embodiments, condition manager1408is configured to use any of the delta values or the slopes provided by rate of change manager1404to determine if a condition has been met that indicates model predictive optimizer1120should be activated or run. For example, condition manager1408can estimate a slope of the predicted degradation, {circumflex over ({dot over (δ)})}k+1, and compare the slope {circumflex over ({dot over (δ)})}k+1of the degradation to one or more threshold slope values {circumflex over ({dot over (δ)})}k+1,thresh1, {circumflex over ({dot over (δ)})}k+1,thresh2, {circumflex over ({dot over (δ)})}k+1,thresh6, etc. If the slope {circumflex over ({dot over (δ)})}k+1of the predicted degradation exceeds one or more of the thresholds (e.g., if the slope exceeds the second threshold slope {circumflex over ({dot over (δ)})}k+1,thresh2) condition manager1408may identify that model predictive optimizer1120should be run (e.g., indicating that the degradation is increasing too rapidly). If the slope {circumflex over ({dot over (δ)})}k+1of the predicted degradation exceeds a different one or more of the thresholds (e.g., if the slope exceeds the first threshold slope {circumflex over ({dot over (δ)})}k+1,thresh1but not the second threshold slope {circumflex over ({dot over (δ)})}k+1,thresh2), condition manager1408may determine that the degradation is increasing at an acceptable rate, and therefore not initiate the model predictive optimizer1120.

It should be understood that condition manager1408can estimate delta values (e.g., increase or decrease amounts), time rate of changes, slopes, etc., or any of the performance indicators as described herein and compare the slopes or rate of changes to corresponding slope thresholds. Condition manager1408may similarly calculate a rate of change or an increase or decrease amount between subsequent time steps for any of the performance variables yk.

Referring particularly toFIGS.14and17, condition manager1408can be configured to use both degradation prediction and actual degradation to determine if a condition has been met and if model predictive optimizer1120should be activated or run. As shown inFIG.17, a graph1700illustrates degradation (the Y-axis) of one of connected equipment1132over time (the X-axis), according to some embodiments. Series1702illustrates actual degradation of the connected equipment1132, whereas series1704illustrates predicted degradation of the connected equipment1132, according to some embodiments.

Graph1700illustrates a difference1706between the actual degradation1702and the predicted degradation1704, according to some embodiments. In some embodiments, condition manager1408is configured to estimate the difference1706between the predicted degradation1704and the actual degradation1702. In some embodiments, condition manager1408is configured to compare the difference1706to a threshold difference. For example, if the actual degradation1702deviates from a previously predicted degradation1704by a threshold amount or more (e.g., if the difference1706is greater than or equal to the threshold difference), condition manager1408may determine that the condition has been met and may provide a command to MPM initiator1410.

Referring particularly toFIG.14, runtime manager1312includes variance estimator1412, according to some embodiments. Variance estimator1412is configured to estimate a variance, a covariance, a deviation, a standard deviation, etc., of one or more of the performance indicators (e.g., over time). For example, variance estimator1412may be configured to calculate a covariance in a pressure ratio of the connected equipment1132. In some embodiments, the covariance, variance, deviation, standard deviation, etc., indicates changes of any of the performance indicator(s) over time (e.g., across different time steps).

Variance estimator1412can provide any of the variance, the covariance, the deviation, the standard deviation, etc., to condition manager1408. In some embodiments, condition manager1408is configured to compare the variance, covariance, deviation, etc., to a corresponding threshold amount (e.g., a threshold variance, a threshold covariance, etc.). If condition manager1408determines that the performance indicator is significant (e.g., that the variance, covariance, deviation, etc., exceeds the threshold variance, the threshold covariance, etc.), condition manager1408can determine that model predictive optimizer1120should be initiated, and may prompt MPM initiator1410to activate or run model predictive optimizer1120.

Thresholds

Referring still toFIG.14, runtime manager1312includes threshold generator1402, according to some embodiments. In some embodiments, threshold generator1402is configured to generate any of the thresholds for use by condition manager1408. In some embodiments, threshold generator1402stores predetermined threshold values for the different connected equipment1132and expected operating or performance characteristics. For example, threshold generator1402can store information regarding each of the connected equipment1132and known operating conditions (e.g., expected power consumption levels, expected efficiency, expected degradation rate, etc.). Threshold generator1402can generate the threshold values used by condition manager1408(e.g., the threshold values for the performance indicators and/or the thresholds for the rate of change of the performance indicators) based on expected or known information regarding the connected equipment1132. In this way, the thresholds may be predetermined values that are determined analytically based on various parameters, operating settings, size, configuration, type, model, etc., of the connected equipment1132or expected values of any of the performance indicator(s) for normal operating or given a life of the connected equipment1132. For example, the thresholds can be generated based on system requirements (e.g., component requirements) or spec-sheets of the different connected equipment1132.

In some embodiments, the thresholds are based on user inputs obtained from the user input device1314. For example, the user may set or select the thresholds for the runtime manager1312. In some embodiments, the user may select between various levels of cautionary performance. For example, if a user desires a more cautious approach, the user may select a higher level, which corresponds with generating or using thresholds that will result in more frequent non-scheduled implementations of model predictive optimizer1120.

In some embodiments, the thresholds are non-static. For example, threshold generator1402can generate a functional threshold (e.g., a function of time) that varies with an expected target value of any of the performance indicators (e.g., if the performance indicators follow a ramp trend).

In some embodiments, the one or more thresholds used by condition manager1408are generated by AI threshold generator1406. AI threshold generator1406can be configured to use an AI model to determine when to initiate model predictive optimizer1120(e.g., different conditions or thresholds that should result in performance of model predictive optimizer1120). In some embodiments, the AI model is based on real-time monitoring techniques (e.g., real-time sensor data) to determine critical boundaries (e.g., thresholds) for any of the performance indicators.

Unavailable Performance Indicators

In some embodiments, one or more of the performance indicators (e.g., the degradation estimates) may be unavailable. In some embodiments, for example, degradation estimates or predictions that are unavailable are assigned a value of NaN. Condition manager1408determines that it is inadvisable or unable to perform its functionality for the particular performance indicator(s) that have a value of NaN, and may use any of the other techniques described herein to determine if model predictive optimizer1120should be run, according to some embodiments. In some embodiments, condition manager1408may postpone use of unavailable or undefined performance indicators for a later time when said performance indicators become available or defined.

Process

Referring particularly toFIG.16, a process1600for determining if model predictive maintenance should be performed is shown, according to some embodiments. Process1600includes steps1602-1618and can be performed by MPM controller1302. In some embodiments, steps1602-1616are performed by runtime manager1312, or the various components thereof, to determine if a non-scheduled (e.g., an event or condition driven) run of model predictive optimizer1120should be performed.

Process1600includes obtaining one or more values of a performance indicator (step1602), according to some embodiments. Step1602may be performed by runtime manager1312. The performance indicator(s) may include estimated degradation of equipment, predicted degradation of equipment, and/or one or more performance variables (e.g., operating setpoints, operational values, sensor readings, pressure, temperature, humidity, pressure ratio, efficiency, power consumption, etc.).

Process1600includes determining if a condition is met by comparing the one or more values of the performance indicator to a corresponding threshold (step1604), according to some embodiments. In some embodiments, the threshold is unique or specific to the performance indicator. Step1604can include determining that the condition is met in response to determining that the performance indicator exceeds or is less than the corresponding threshold. In some embodiments, step1604is optional. The thresholds can be generated by threshold generator1402and/or AI threshold generator1406. Step1604can include comparing any of the performance variables, the predicted degradation, or the estimated degradation to a corresponding threshold to determine if the condition is met or to determine if an event has occurred (or if a trigger condition is satisfied).

Process1600includes determining if a condition is met by comparing a rate of change of the one or more values of the performance indicators to a corresponding threshold (step1606), according to some embodiments. In some embodiments, step1606includes determining a rate of change of any of the performance indicators (e.g., an increase or decrease amount between different time steps, a slope of any of the performance indicators, a time rate of change of any of the performance indicators, etc.). The rate of change, or change amount of the performance indicators can be performed by rate of change manager1404as described in greater detail above. Step1606may be similar to step1604but performed by comparing rates, increase or decrease amounts, change amounts, slopes, a time rate of change, etc., of any of the performance indicators to corresponding thresholds (e.g., a corresponding slope threshold, a change threshold, a time rate of change threshold, etc.). Step1606can include determining that the condition has been met or that an event has occurred in response to the rate of change (or change amount) of the performance indicator exceeding or being less than the corresponding threshold. For example, step1606may include determining that a condition has been met or an event has occurred in response to a determination that the rate of change of the degradation increases too rapidly (e.g., that the rate of change of the degradation exceeds a corresponding threshold).

Process1600includes determining if a condition is met by receiving a user input to initiate model predictive maintenance (step1608), according to some embodiments. In some embodiments, step1608is performed by condition manager1408. A user input or a command may be considered by condition manager1408as one of the events or conditions that should prompt a run of model predictive optimizer1120.

Process1600includes determining if a condition is met by comparing a predicted degradation to an actual degradation at a corresponding time step (step1610), according to some embodiments. In some embodiments, step1610is performed by condition manager1408. Condition manager1408may monitor and store the predicted degradation for a future time step. When the future time step arrives, condition manager1408can compare an actual, present, current, or estimated degradation of equipment to the previously predicted degradation. In some embodiments, if the previously predicted degradation and the current degradation deviate from each other by a threshold amount or more, step1610includes determining that the condition has been met and that model predictive optimizer1120should be initiated.

Process1600includes determining if a condition is met by calculating a covariance of one or more of the performance indicators (step1612), according to some embodiments. In some embodiments, step1612includes calculating a variance, a deviation, a standard deviation, etc., of the one or more performance indicators over time. In some embodiments, step1612is performed by variance estimator1412. If the covariance, variance, deviation, etc., of the one or more performance indicators exceeds a corresponding threshold amount (e.g., deviates significantly over time), step1612can include determining that the event or condition has been met and that model predictive optimizer1120should be initiated. In some embodiments, step1612is performed by both condition manager1408and variance estimator1412.

Process1600includes determining if a condition is met using outputs from an artificial intelligence fault detection layer (step1614), according to some embodiments. In some embodiments, condition manager1408is configured to receive outputs of an artificial intelligence fault detection layer and use the outputs to identify if any faults have occurred. If any faults have occurred as determined by the artificial intelligence fault detection layer, runtime manager1312can determine that an event or condition has occurred that should result in a run of model predictive optimizer1120.

Process1600includes determining if a condition has been met or if an event has occurred (step1616), according to some embodiments. Step1616can be performed by condition manager1408as a result of any of steps1604-1614. In some embodiments, if one or more of steps1604-1614indicate that a condition has been met or that an event has occurred (step1616, “YES”), process1600proceeds to step1618. In some embodiments, if a condition has not been met or an event has not occurred (step1616, “NO”), process1600returns to step1602. In some embodiments, performing step1618includes initiating or running a model predictive maintenance technique or process. In some embodiments, performing step1618includes performing process1000.

Advantageously, process1600can be performed to initiate operation of model predictive optimizer1120. In some embodiments, process1600is performed (e.g., by runtime manager1312) even when model predictive optimizer1120is in-operational. The thresholds as described in process1600can be generated by threshold generator1402and/or artificial intelligence threshold generator1406.

Events and Conditions

Referring particularly toFIG.18, a diagram1800shows various events or conditions (e.g., trigger conditions) that condition manager1408may detect to operate (e.g., trigger) MPM initiator1410to run model predictive optimizer1120, according to some embodiments. Condition manager1408can be configured to use any of the events or conditions to determine if it would be advantageous to perform the functionality of model predictive optimizer1120at a non-scheduled time. In this way, condition manager1408may initiate model predictive optimizer1120in an event-driven or condition-driven manner.

Condition manager1408can identify event or condition detection based on outputs from an artificial intelligence fault detector (AI FDD event1802), a performance variable comparison to a threshold (performance variable event1804), a variance or covariance exceeding a threshold amount (covariance event1806), a performance indicator changing by at least a threshold amount (or a rate of change of a performance indicator changing by at least a threshold amount, shown as performance indicator change event1808), a degradation estimation exceeding a threshold amount (degradation estimation event1810), a degradation prediction exceeding a threshold amount (degradation prediction event1812), or a comparison between a predicted and an actual degradation (predicted vs. actual degradation event1814). The performance variable event1804, the covariance event1806, the performance indicator change event1808, the degradation estimation event1810, the degradation prediction event1812, and the predicted vs. actual degradation event1814are described in greater detail above. The AI FDD event1802is described in greater detail below with reference toFIG.20.

Advantageously, condition manager1408can use the events or conditions1802-1814described herein to determine event detection that indicates model predictive optimizer1120should be run (e.g., in response to the event or condition detection). In this way, condition manager1408can initiate an event or condition driven implementation of model predictive optimizer1120.

Artificial Intelligence Fault Detection

Referring particularly toFIG.19, an MPM system1900that includes an artificial intelligence (AI) fault detection (FDD) manager1902is shown, according to some embodiments. In some embodiments, MPM system1900is the same as or similar to MPM system1300. For example, MPM system1900includes MPM controller1302that is configured to implement AI FDD manager1902. In some embodiments, AI FDD manager1902is configured to output fault detection to runtime manager1312. In some embodiments, condition manager1408is configured to receive the outputs of AI FDD manager1902, and if AI FDD manager1902indicates that a fault has been detected, condition manager1408(or more generally runtime manager1312) are configured to initiate model predictive optimizer1120to perform its functionality.

Referring now toFIG.20, system2000illustrates the functionality of AI FDD manager1902for determining fault conditions in a control system based on one or more fault indicators is shown, according to exemplary embodiments. System2000may make control decisions based a determination for whether a fault has been detected within an HVAC system (e.g., system100, central plant200, airside system300, BMS400. In some embodiments, system2000determines not only whether a fault has been detected, but also the type, criticality, location, or other parameters related to the fault. System2000may be configured to receive data relating to operation of HVAC system100, determine several fault detections (e.g., via temporal detection, via peer detection, via AI+Generalized Likelihood Ratio (GLR) detection, etc.). Then, system2000may make control decisions based on the received control detections. System2000is shown to include standardized time series data (“data”)2010, Peer (GESD) (“peer detection method”)2004, temporal (“temporal detection method”)2006, AI+GLR (“AI detection method”)2008, and supervisory layer2002.

Data2010may be configured to provide various operational data to a controller (e.g., BMS controller366, MPM controller1302, MPM controller1102, etc.). Data2010may include time series data, wherein the data is a series of data points indexed in time order. The time series data may be a sequence taken at successive equally spaced points in time (e.g., 5 ms, 50 ms, 500 ms, etc.) and is thus a sequence of discrete-time data. In some embodiments, data2010includes information relating to compressor speeds, compressor current, pump speeds, power out, power input, operating voltage, operating current, pump pressure, and temperature measurements. These types of a data are meant to be exemplary and are not intended to be limiting. As such, data2010may include significantly more types of data relating to equipment (e.g., boilers, chillers, pumps, compressors, VAV boxes, AHU's, etc.) operation within HVAC system100.

In some embodiments, data2010is sent simultaneously (e.g., several data sets are sent at the same time). For example, the pump speed, pump pressure, operating voltage, and temperature of pumps222and224are provided at the same time to a controller. In other embodiments, data2010is sent discreetly (e.g., one piece of data at a time). In some embodiments, data2010will have a constant mean and variance, except for when a fault is injected into the data. Because the incoming data has constant mean and variance, the incoming data will be standardized (e.g., converted to zero mean and unit variance using the equation: xstd=(xin−x)/σ, wherexis the mean, and a is the standard deviation, etc.) before being sent to the detection schemes (e.g., peer detection method2004or temporal detection method2006or AI detection method2008, etc.).

Data2010may typically be implemented as floating point numbers, however data2010may include any type of data formatting typically found in computing (e.g., Not a Number (NaN), integer, fixed point, double, single precision, double precision, etc.). In some embodiments, data2010will be received and analyzed in a “sliding window” approach, where new data2010will be added to the detection scheme, and old data will be “forgotten” after a period of time (e.g., 100 ms, 1 minute, 10 minutes, 1 hour, 1 day, 1 year, etc.) such that the detection window will “slide” through time. This may be necessary to support the time series nature of the data, and to support detection over a very long period of time (e.g., years), without loss of accuracy.

Peer detection method2004(and similarly temporal detection method2006and AI detection method2008) may be various processes and/or methods implemented by a building controller to detect and determine faults in a system. Peer detection method2004is shown to receive time series data from data2010and provide detected fault information to supervisory layer2002. In some embodiments, peer detection method2004is one method for detecting faults considered by system2000, wherein multiple different methods for detecting faults are considered. Then the detected fault information is weighed against other methods that have provided detected fault information to supervisory layer2002to determine the most accurate fault detection information and appropriate control response.

In some embodiments, peer detection method2004is configured to identify which HVAC devices in a system (e.g., HVAC system100) are operating differently than the other HVAC devices. For example, peer detection method2004may consider past operational data of several AHU's operating in system100. Based on the a priori operational information, peer detection method2004may be able to determine that one of the several AHU's is malfunctioning based on its received operational data being distinctly different (e.g., an outlier) than the other AHU's operational data.

Temporal method2006may be another detection method considered by supervisory layer2002. In some embodiments, temporal method2006is configured to calculate one or more linear regression coefficients at each time step of the provided data2010(e.g., time series data). Temporal method2006may then monitor how those coefficients change over time.

AI detection method2008may be another detection method considered by supervisory layer2002. AI detection method2008may be configured to use an auto-encoder neural network (NN) as a control model to calculate an output of the system. In some embodiments, output of the NN and the measured output are provided to a statistic calculator. The calculator may then produce a single number (e.g., a GLR statistic, etc.) which is provided to supervisory layer2002and used to determine if there is a fault. AI detection method2008is described in greater detail below with reference toFIG.20.

Referring now toFIG.21, a diagram2100of the functionality of AI FDD manager1902, or more particularly, AI detection method2008is shown, according to some embodiments. Diagram2100provides fault information based on decisions made by auto-encoder neural network2102as shown, according to exemplary embodiments. The system described in diagram2100may be incorporated partially or entirely in the various systems described herein, and vice versa. For example, the system or functionality described in diagram2100may be incorporated into MPM system1900. Diagram2100is shown to include auto-encoder neural network2102including an encode module2104, a decode module2106, a residual module2108, a GLR calculation module2110, and supervisory layer2002. Diagram2100may describe systems and/or process that can be implemented by AI FDD manager1902(e.g., a fault adaptive controller).

Auto-encoder neural network2102may be or include functionality that receives various sets of operational data of an HVAC system (e.g., pump speed, temperature measurements, compressor operating voltage, compressor speed, current measurements, etc.) and uses the received data to train a neural network. When used for fault detection, auto-encoder neural network2102may be trained on only good data. For example, when a fault happens and the input data is changed due to the fault, auto-encoder neural network2102will not be able to duplicate the new faulty data and will instead reproduce only the equivalent good data, because auto-encoder neural network2102“knows” is how to produce good data. In other embodiments, both bad data (e.g., erroneous data intentionally provided to auto-encoder neural network2102for training purposes) and good data are provided to auto-encoder neural network2102. Auto-encoder neural network2102can be or include any type of neural network, include long short-term memory, a recursive neural network, a WindowResidualDetector detector class of MATLAB, or a convolutional neural network. In some embodiments, auto-encoder neural network2102is a long short-term memory (LSTM) neural network that attempts to match the calculated output to the received input using the weighted hidden layers of a neural network process. This may be done to determine an estimation of the received data.

Residual module2108may receive the actual measured data and estimated data generated by auto-encoder neural network2102to determine the residual. As described herein, the residual may refer to the difference between the estimated data and the measured data. In some embodiments, the difference between the output of auto-encoder neural network2102and the measured output is used to calculate a residual. A residual value is the difference between a measured value and expected value, and can be represented by the following equation: r=y−ŷ, where y is the measured data, and ŷ is the data calculated from the model. In some embodiments, the residual is provided to a statistical calculator (e.g., GLR calculation module2110) and implemented in the following equation:

gk=12⁢σ2⁢max1≤j≤k⁢(1k-j+1[∑i=jkr[i]]2)
to calculate the GLR statistic, gk, at every time step. Then, gkis sent to supervisory layer2002for final fault determination.

For example, auto-encoder neural network2102receives five pieces of data: compressor speed, Ps, Pd, Td, and compressor current. While auto-encoder neural network2102reproduces all 5 pieces of data, only the compressor current is considered for fault detection. The measured compressor current data is provided to residual2108, along with the expected compressor current data, to determine the residual value. The residual value is provided to GLR calculation module2110to determine a GLR statistic, which is provided to supervisory layer2002and is indicative of fault detection.

In some embodiments, the systems and methods described in diagram2100outline one of several methods for determining faults in an HVAC system. Particularly, diagram2100utilizes analyzing a difference between expected and measured measurements (e.g., a residual), and making inferences on faults (e.g., stuck valve, malfunctioning compressor, low pump speed, etc.) based on the residual. This information may be provided to a supervisory layer of a building controller (e.g., supervisory layer2002) to determine whether corrective action needs to be taken based on the detected fault information (e.g., the GLR statistic).

Referring again toFIG.19, runtime manager1312can be configured to receive an output from AI FDD manager1902(e.g., an output of supervisory layer2002and/or AI detection method2008) to determine if a fault has been detected. In some embodiments, a fault detection output of AI FDD manager1902indicates that a trigger condition has been satisfied and that runtime manager1312should initiate model predictive optimizer1120.

Configuration of Exemplary Embodiments