SYSTEM AND METHOD FOR OPTIMIZING ENERGY EFFICIENCY OF A BUILDING SYSTEM FOR A TARGET ENERGY CONSUMPTION LEVEL

Abstract: A method for optimizing the energy efficiency of a building system, such as a lighting system, including a plurality of energy consuming devices, such as light sources. The method includes the steps of defining a set of parameters for the building system, and, typically, using a linear programming technique, taking into account the set of parameters, to produce energy allocation output data which satisfies a total energy consumption constraint that the total energy allocated to the building system not exceed a target energy consumption level, and which is representative of an optimal allocation of energy to each of said energy consuming devices. In general, the energy optimization problem is translated into a linear programming problem by formulating a set of system energy allocation constraints, converting these constraints into a set of constraint equations and a cost function, converting the constraint equations into a set of simultaneous linear equations, and then solving the set of simultaneous linear equations in such a manner as to minimize the cost function, to thereby produce the energy allocation output data, which is preferably in the form of an optimal brightness level for each light source. These steps are preferably implemented in computer software, which is preferably loaded in a programmable central controller of an intelligent lighting control system or building system which is responsive to the energy allocation output data for automatically adjusting the energy consumption level of each of the energy consuming devices. Preferably, available energy remaining after satisfying minimum energy requirement levels for each room is allocated at least partially on the basis of the designated priority level of each room, and/or the energy efficiency of the energy consuming devices.

Description: SYSTEM AND METHODE FOR OPTIMIZING ENERGY EFFICIENCY OF A BUILDING SYSTEM FOR A TARGET ENERGY CONSUMPTION LEVEL BACKGROUND OF THE INVENTION The present invention relates generally to automatic building systems and more specifically to automatic lighting systems for buildings, and, more particularly, to a method which can be utilized in an intelligent building and/or lighting control system to optimize the energy efficiency and utilization of energy consuming devices for a given set of user-defined parameters, taking the building topology into account. There are presently available at least two broad categories of automatic lighting control systems for buildings. Automatic lighting control systems falling into the first broad category consist of a plurality of discrete, self-contained automatic lighting control modules which operate essentially independently of one another for controlling the lighting conditions in respective separate rooms or localized areas of the building. Automatic lighting control systems falling into the second broad category employ a distributed network of sensors for detecting the illumination levels and/or presence of persons in each (or a selected subset) of the rooms (or other localized areas) in the building, and a programmable central controller which analyzes the sensor feedback signals in accordance with a lighting control program, and outputs control signals to adjust the lighting levels of the monitored rooms in the building in accordance with the lighting control program. In this connection, an automatic lighting control module(s) in each room or localized area is (are) operated under the control of the programmable central controller. Thus, rather than operating independently of one another, the distributed modules are functionally integrated into a single building- wide network under the control of the programmable central controller. An exemplary automatic lighting control system of the first category is disclosed in European Patent Application Publication No. 0 447 136, published on September 18, 1991. In this system, each light source is provided with an automatic control device which includes a presence detector (e.g. , a motion detector or a passive infra-red detector) and a light intensity detector (e.g. , a photocell detector). In operation, each automatic control device functions to switch its corresponding light source on when an occupant is detected in its localized area of coverage, and to vary the intensity (brightness) of the light produced by its corresponding light source in response to variations in the sensed ambient or background light level in its localized area of coverage. In this manner, adequate lighting is provided in all occupied areas despite variatons in the ambient lighting conditions. Another typical automatic lighting control system of the first category is disclosed in U.S. Patent Number 5,250,799, issued to Walter Werner on October 5, 1993. This system includes one or more individual dimming controllers each of which controls the light intensity (brightness) of one or more light sources in a room or localized area of the building which is lit by internal light and external light. In particular, each dimming controller adjusts the intensity of the internal light in dependence on the external light intensity, which varies with the time of day and atmospheric conditions. The intensity and direction of the external light is sensed by external light sensors. Each of the light sources in a room or localized area of the building can be provided with an individual dimmer, to thereby enable the intensity of the different light sources to be individually adjusted in such a manner as to provide either a uniform or non-uniform light intensity profile. In general, the light intensity of the internal light is controlled in substantially inverse dependence on the external light, e.g. , when the external light decreases the light inside the room is made brighter. A more advanced automatic lighting control system of the first category is disclosed in published European Patent Application No. 0 482 680, having a publication date of April 29, 1992. This reference discloses a programmable illumination system which includes a plurality of individual illumination units each of which is provided with a programmable controller which functions to automatically adjust the light level of its associated illumination unit to a prescribed (programmed) light output level for each of a plurality of different illumination modes. Such an illumination system has particular utility in a space, such as a living room, office, or shop, in which various different tasks which require different lighting conditions are to be performed. An illumination mode is defined as a particular setting of the light output levels of all illumination units in a particular illumination area for providing a desired illumination profile for a particular task to be performed (or desired ambience) in that particular illumination area. After initial programming of the system, the system automatically adjusts the output levels of the individual illumination units to the proper level for a selected illumination mode. Such a programmable illumination system is commercially available as the Philips MCS-100 system. A wireless or hard-wired remote controller can be utilized to program each of the individual illumination units of the system. An exemplary automatic lighting control system of the second category is disclosed in published PCT Application No. WO 89/05536, which has a publication date of June 15, 1989. This system includes a programmable microprocessor-based central controller which is responsive to feedback signals produced by a network of presence and light sensors distributed throughout a building to automatically control the light output levels of lighting units in different rooms and/or zones of the building. The system is equipped with an override feature to enable building occupants to override one or more of the automatic lighting features of the system, e.g., to enable the lights to be turned off, despite the sensed presence of people in a room, for operation of an overhead projector (OHP). A more advanced automatic lighting control system of the second category is disclosed in co-pending U.S. Patent Application Serial No. 08/326, 823, filed on October 19, 1994. This system includes a plurality of illumination sensors distributed throughout the building, but advantageously not necessarily in a one-to-one relationship to the light sources distributed throughout the building. In this connection, a generally lesser number of illumination sensors than light sources are strategically placed inside (and outside, if desired) of the building in order to provide a non-redundant set of measurements of internal illumination. These measurements are then collectively processed by a central automatic control device which preferably includes a neural network or a fuzzy logic unit. The automatic control device is programmed with a set of inference rules chosen to meet user- defined comfort and/or energy efficiency criteria. In operation, the automatic control device automatically controls the light output levels of the light sources throughout the building in accordance with the user-defined inference rules to thereby meet the user-defined comfort and/or energy efficiency criteria. Various user-selectable customized usage modes can be programmed to enable building occupants to vary the general lighting conditions in a selected room(s) or area(s) of the building in accordance with various usage requirements by merely selecting the appropriate usage mode. A major shortcoming of all presently known automatic lighting control systems, and more in general, automatic building control systems is that none of them are designed to optimize the energy efficiency of a building lighting system or building system for a target energy consumption level and a prescribed set of system usage parameters and constraints. Thus, there presently exists a need in the art for an automatic control system which overcomes this and other limitations, disadvantages, and shortcomings of the presently known automatic control systems. The present invention fulfills this need. SUMMARY OF THE INVENTION The present invention encompasses a method for controlling distribution of energy throughout a building system including a plurality of energy-consuming devices of a type with a selectively adjustable energy consumption level, the method including the steps of: producing energy allocation data which is representative of an optimal allocation of energy to each of the energy-consuming devices and which satisfies a total energy consumption constraint that the total energy allocated to the building system over a prescribed time interval not exceed a prescribed total energy consumption level; and selectively adjusting an energy consumption level of each of the energy- consuming devices in accordance with said energy allocation data. The method may, for instance, be used to control energy consuming devices, such as airconditioning, lighting equipment and heating equipment, in a building system. The method may also be used in a domestic environment for controlling the energy consumption of, for instance, large domestic applicances, such as a washing machine, a dryer or an electric boiler, or small domestic applicances, such as a micro- wave, a refrigerator or a freezer. More specifically, the method may also be used for optimizing the energy efficiency of a lighting system which includes a plurality of light sources, which includes the steps of defining a set of parameters for the lighting system, and using a programming technique, taking into account the set of parameters, to produce energy allocation output data which satisfies a total energy consumption constraint that the total energy allocated to the lighting system not exceed a target energy consumption level, and which is representative of an optimal allocation of energy to each of the light sources. In many systems a linear programming technique may be used. The lighting system is installed in a building which includes a plurality of rooms each of which is equipped with at least one of the light sources. In general, the lighting optimization problem is translated into a linear programming problem by formulating a set of lighting system energy allocation constraints, converting these constraints into a set of constraint equations and a cost function, converting the constraint equations into a set of simultaneous linear equations, and then solving the set of simultaneous linear equations in such a manner as to minimize the cost function, to thereby produce the energy allocation output data, which is preferably in the form of an optimal brightness level for each light source. These steps are preferably implemented in computer software, which is preferably loaded in a programmable central controller of an intelligent lighting control system which is responsive to the energy allocation output data for automatically adjusting the brightness level of each of the light sources to the optimal brightness level therefor. It will be understood that for non-linear problems, suitable algorithms, other than a linear problem solving algorithm, may be used, using the method and system according to the invention. In the remaining part, a lighting systems is described as an examplary system and details are provided for a formulating and solving a linear problem. Preferably, available energy remaining after satisfying minimum brightness levels for each room is allocated at least partially on the basis of the designated priority level of each room, and/or the energy efficiency of the light sources. Further, rooms of equal priority are preferably allocated an equal amount of available energy. Also, the method preferably includes a post-processing filtering step for determining whether the optimal brightness level for each room served by a utility room(s) is equal to a minimum brightness level, and, if so, adjusting the optimal brightness level for the utility room(s) to the minimum brightness level. BRIEF DESCRIPTION OF THE DRAWING These and various other features and advantages of the present invention will be readily understood with reference to the following detailed description taken in conjunction with the accompanying drawing, in which: FIG. 1 is a block diagram depicting an intelligent lighting control system embodying the present invention. DETAILED DESCRIPTION OF THE INVENTION With reference now to FIG. 1, it is presently contemplated that the computer software of the present invention will be installed in a central programmable controller 10 of an intelligent (automatic) lighting control system 12 for a building 16, to thereby facilitate programming of the operation thereof. In this connection, the computer software produces output data that is utilized by the intelligent lighting control system 10 to automatically adjust the output level or brightness of the light source(s) 18 in each monitored room 14 (or other localized area or zone) in the building 16 in accordance with the lighting optimization/energy allocation algorithm implemented by this computer software, which will be described in detail hereinafter. However, the present invention can be embodied as stand¬ alone computer software which can be used by a building/facilities manager to provide him/her with information regarding the most efficient distribution of lighting energy resources within a building for a target energy consumption level and a given set of lighting system parameters and usage constraints. The manager can then use this information to manually adjust the settings of various light sources in different areas of the building, or to program a centralized intelligent lighting control system for the building, or to program self- contained automatic lighting control modules distributed throughout the building. It will be appreciated that a same approach can be used for managing energy distributiong in a more general building system or even in a domestic environment, where the control system controls energy consumption of energy consuming devices. The basic approach of the present invention is to convert the lighting optimization problem to a linear programming problem which can be solved by any number of presently available linear programming software modules. In the ensuing description, two basic assumptions are made, namely, (1) that there is one lamp (light source) 18 per room 14 (or localized area) of the building 16 to be monitored, and (2) that the power-to-brightness relationship for each light source 18 is linear. The first assumption is made solely for the purpose of simplifying the description of the present invention, and is not in any way limiting to the present invention. The second assumption allows the lighting optimization problem to be translated into a linear programming problem. In practice, this assumption is sound, and is supported by the power-to-brightness data for various different types of dimmable light sources, e.g., a dimmable ballast lamp. The initial step in formulating a lighting optimization algorithm is to define a set of parameters and constraints for the lighting system. Although the present invention is described below in connection with a presently preferred set of parameters and constraints, it should be clearly understood that the specific set of parameters and constraints which are utilized in the practice of the present invention, and the values therefor, are not limiting to the present invention, in its broadest sense, and, in fact, will be largely dependent upon user preferences. Thus, the lighting optimization algorithm can be modified or customized for any particular application. In accordance with the presently preferred embodiment of the present invention, these parameters and constraints are as follows. First, a minimum and maximum brightness level for each room is defined. The maximum brightness level for each room 14 can be the maximum level desired by an occupant or a building- wide default level. The minimum brightness level for each room 14 can be the minimum level desired by an occupant, a building-wide default level (e.g., 0), or some official minimum level, e.g., as may be mandated by OSHA, a local or municipal ordinance, or the like. In any event, the specific values selected for the minimum and maximum brightness levels are not limiting to the present invention. The brightness constraint for each room 14 in the building 16 can be expressed by the following inequality (1): (1) For all i j € R, l ri <_ . b ri _< u ri where R represents the entire set of rooms 14 in the building 16, r j represents a given room 14 within the set R, u ri represents the maximum light level for that room l ri represents the minimum light level for that room r j and b ri represents the brightness of that room r ; (i.e. , the brightness of the controllable light source or lamp in that room r^). The total number or rooms r j in the entire set R is represented by n. Thus, i has a range of 1 through n. Since it is assumed that there is a linear relationship between brightness and power consumed by each lamp, the total power P ri consumed by each lamp (room) in the building can be expressed by the following equation (2): (2) P ri = p ri b r i + c ri, where p ri is a linear power efficiency coefficient for each room r j , and c ri is an offset constant. That is, the power P ri consumed by the lighting in each room i is the linear power efficiency coefficient p ri for the lamp in that room times the brightness b ri for that room, plus some offset constant c ri . Although the linear power efficiency coefficient p ri for each room Tj is a constant, the value of this constant may vary from lamp to lamp, depending upon the power or energy efficiency thereof. In this regard, the less steep the slope of the brightness- to-power line for a lamp, the more efficient the lamp, and thus, the lower the linear power efficiency coefficient p ri for that lamp. The total power P τ consumed by the lighting system of the entire building can be expressed by the following equation (3): n (3) p τ = ~ P (p ri b ri +c r/ ) i = 1 The total energy E consumed over a time interval t is equal to the total power P τ times t, assuming that the power is constant over the interval t. In the case of a unit interval, power consumed and energy are the same, i.e., E = P τ For the sake of simplicity, a unit time interval, which can be thought of as one time zone of the building lighting schedule, will be assumed. To convert to true energy units, the power needs to be multiplied by the duration of the time zone over which the energy is being calculated. The standard form of a linear programming problem is: (4) Given A = B, find x such that MIN (Cx), where A is an n x m matrix, B is an n row vector, and C is an m column vector. All of the coefficients must be greater than or equal to zero. In general, the objective is to solve the linear programming problem by finding a value for the control (dependent) variable x which minimizes the cost function Cx. In the present case, the cost C is the energy consumption of the building lighting system, and the control variable x is the brightness level b ri (i.e. , light output level) of the lights constituting the building lighting system. In order to convert or translate the lighting optimization problem into a linear programming problem, the expressions (1) and (3) must be modified as follows. Namely, first slack variables s uri (slack variable for the upper bound of room r^ and s lri (slack variable for the lower bound of room r j ) need to be introduced in order to convert the expression (1) from a single inequality expression into the following two equalities, (5) and (6): (5) b ri + s uri = u ri , for some s uri (6) b ri - s lri = l ri , for some s lri The A matrix of the linear programming problem can be composed of the left-hand sides of the equations (5) and (6) for each room τ i of the building 16, and the B vector can be composed of the right-hand sides of the equations (5) and (6) for each room r } of the building 16. The cost vector C is derived by modifying the left-hand side of equation (3) by adding thereto the slack variables introduced in the equations (5) and (6) above (with zero coefficients), and by introducing thereto the target energy consumption level E, to thereby yield the following expression (7): n (7) ' = ~ fP > ( Vpf n. b ri + c n. + 0.s uri. + 0.s I.n . ) ' -E. i = 1 Thus, the lighting optimization problem has been translated into a linear programming problem given by equations (5), (6), and (7). The linear programming problem can then be implemented in software using any convenient, readily available linear programming software tool, and then solved by using any convenient, readily available linear programming solver software module, as will be more fully developed hereinafter. Formulating and solving the linear programming problem in terms of the equations (5), (6), and (7) provides brightness setting data (i.e., the value of b ri ) for each of the rooms 14 in the building 16 which will result in the most efficient distribution of lighting resources within the building 16 for the target energy consumption level E, given the constraints imposed by these equations. More particularly, if the linear power efficiency coefficient p ri for the lamp 18 in at least two or more of the rooms 14 in the building 16 differs, then the rooms 14 which have lamps 18 which are more energy efficient will be allocated a disproportionate share of the energy, for the following reasons. Namely, since the value of the linear power efficiency coefficient p ri for a high efficiency lamp is lower than that for a low efficiency lamp, and the linear power efficiency coefficients p ri are used as coefficients of brightness in the cost equation, then rooms having lower efficiency lamps are accorded greater "weight" in the cost equation than rooms having higher efficiency lamps. Thus, since the linear programming problem is solved by minimizing the cost vector C represented by expression (7), then the rooms having higher efficiency lamps are allocated a greater amount of energy than rooms having lower efficiency lamps. However, if the linear power efficiency coefficient p ri for the lamp 18 in each room 14 is the same (e.g. , the same type of lamp 18 is used in each room 14 in the building 16), then any "extra" or "spare" energy that remains after the minimum brightness level constraint for each room 14 is satisified, is distributed arbitrarily amongst the rooms 14 in the building 16. This would be equivalent to setting the linear power efficiency coefficient p ri for the lamp 18 in each room 14 to 1, thus effectively eliminating the power or energy efficiency of the lamps 18 as a factor in the allocation of energy to the lighting resources in the building 16. Thus, the only useful information that is provided to the building/facilities manager in this case is whether the target energy consumption level E is sufficient to meet the minimum brightness level requirements for each room 14 over the relevant time interval. Although this limited amount of information may be all that is required in some instances, it is desirable to introduce additional constraints regarding the building topology into the linear programming problem in order to facilitate the provision of more useful information regarding the optimal distribution of energy throughout the lighting system, i.e., regarding the optimal brightness level for each room 14 in the building 16. In this regard, formulating and solving the linear programming problem in terms of the equations (5), (6), and (7) does not take into account the relative "priority" of the rooms 14 in the building 16. For example, the light source (lamp) in an executive office is accorded the same priority regarding allocation of energy as is the light source (lamp) in a seldom-used janitorial supply room. This is because the linear power efficiency constant p ri for the lamp 18 in each room η only takes into account the relative power or energy efficiency of that lamp, and does not at all take into account the relative importance of the room to the building occupants. Clearly, it would be advantageous to take into account the relative importance of the rooms 14 in the building 16 from a usage standpoint in allocating the energy resources to the various rooms in the building lighting system. By doing so, any spare or extra energy remaining after satisfying the minimum brightness level constraint could be allocated to the various rooms 14 of the building lighting system on the basis of the relative importance thereof to the building occupants, in addition to (or in lieu of) being allocated on the basis of the energy efficiency of the lamps 18 employed in the various rooms 14 of the building 16. Such a room priority constraint can be incorporated into the light optimization/linear programming problem as follows. First, each room r^ is assigned a priority level pr ri which is greater than or equal to zero. The higher the priority of a room, the lower the value of pr ri for that room. Thus, if a room rl is given a higher priority than a room r2, then pr rl < pr r2 . Second, a modified cost vector C is derived as follows. Namely, an additional slack variable s e is introducted into the expression (7) which represents the original cost vector C, thereby yielding the following equation (8): (8) ∑ P n K ι + 0. Surl + 0.s !n ) - Se = E - ~ b c n . ι = l ι = l The expression (8) derived from the original cost vector C becomes an additional linear programming constraint. The additional slack variable s e is used to ensure that all of the available (allotted) energy E is actually used. However, in order to ensure that no more than the available energy E is used, this slack variable is minimized in the new cost vector C The priority constraint is incorporated into the linear programming problem by substituting the priority level pr ri for each room for the linear power coefficient p ri in the expression (7) which represents the original cost vector C, to thereby yield the following expression (9) which represents the new cost vector C : (9) ∑ pr π b„ + 0.s un + 0.s lrι ) + s e The linear programming problem can now be phrased in terms of the equations (5), (6), (8), and (9), with the A matrix being composed of the left-hand sides of the equations (5), (6), and (8), the B vector being composed of the right-hand sides of the equations (5), (6), and (8), and the new cost vector C being represented by the equation (9). Since the value of the priority level pr ri of a low priority room is higher than the value of the priority level pr ri of a high priority room, and the priority levels pr ri are used as coefficients of brightness in the new cost vector C equation (9), then the low priority room is accorded greater "weight" in the cost equation than is the high priority room. Thus, since the linear programming problem is solved by minimizing the cost vector C\ the high priority room is allocated a greater amount of energy than is the low priority room. Thus, formulating and solving the linear programming problem in terms of the equations (5), (6), (8), and (9) provides a set of brightness values b ri for the rooms 14 in the building 16 which takes the relative priority of the rooms fully into account. Thus, the extra or spare energy which remains after the minimum brightness constraint has been met is allocated to the rooms 14 in the building lighting system on the basis of their relative importance or priority, e.g., as defined by the building occupants, in addition to (or in lieu of) being allocated on the basis of the energy efficiency of the lamps 18 employed in the rooms 14 of the building lighting system. This feature of the present invention can be utilized to enhance the intelligence of an intelligent automatic lighting control system. With this formulation of the linear programming problem, rooms of equal priority may not be accorded equal brightness, since any excess energy is arbitrarily distributed amongst rooms of equal brightness. If it is important that rooms of equal priority get equal brightness, then an additional set of constraints must be introduced to the linear programming problem. For example, if rooms rl and r2 are assigned equal priority (i.e., pr rl = ρr r2 ), then the following constraint (10) must be introduced: (10) ρr rl = pr r2 «* br rl = br r2 In general, the above constraint must be introduced for each set of equal priority rooms in order to ensure that all rooms of equal priority are allocated the same brightness level. This adds an extra set of constraint equations to the linear programming problem, but doesn't introduce more variables. In the worst case, all of the rooms 14 will be assigned the same priority, in which case, N - 1 additional constraint equations will be required. In the best case, no two rooms will be accorded the same priority, in which case, no additional constraint equations will be required. Now that the lighting optimization problem has been translated into a linear programming problem of standard form (i.e., Given Ax = B, find x such that MIN (Cx)), it is a routine matter to implement the lighting optimization algorithm represented thereby in computer software using any number of readily available software programming tools. All that is required is that the parameters (i.e., independent and dependent variables, and constants) be defined, and that the linear programming constraint equations be coded in a form recognizable to the particular linear programming solver software module to be used, e.g., any one of a wide array of well-known (and commercially available) linear programming solver software modules. In the present instance, assuming the linear programming problem is formulated in terms of the equations (5), (6), (8), and (9), which define the A matrix, B vector, and C vector, then all that is required is that these equations be coded in the proper form, and that the parameters (i.e. , independent and dependent variables, and constants) used therein be defined. More particularly, in this case, the independent variables which must be defined are the maximum and minimum brightness levels for each room (i.e., u ri and l ri ), the linear power efficiency coefficient for each lamp (room) in the building lighting system (i.e., p ri ), the priority level for each room (i.e. , pr ri ), and the target energy consumption level (i.e., E). Although it is possible that the values for these variables would be embedded in the software, it is presently contemplated that these values will be user-defined (e.g., by the building/facilities manager). In this regard, the software can be designed with a user interface which provides a screen prompt to the user to input the value for each of these independent variables (and for the offset constant c ri ). Also, the number n of rooms 14 in the building lighting control system must be defined. The dependent variables which must be defined are the slack variables (i.e., s uri , s lri , and s e ). The other dependent variable is the brightness level for each room (i.e. , b ri ), which is the control variable, i.e., the value for this variable for each room is the output of the program. In this connection, the basic purpose of the software of the present invention is to produce these outputs, which represent the optimum brightness levels for each room in the building lighting control system for the defined target energy consumption level E, over a unit time interval, taking into account the above-discussed parameters and usage constraints represented by the linear programming equations. The source code which defines the parameters and the linear programming equations can be referred to as the "lighting optimization module" . The source code which converts these linear programming equations into a set of simultaneous linear equations and solves the same can be referred to as the "linear programming module". As previously mentioned, translating the linear programming equations into a suitable code for the linear programming module is a routine matter for anyone having any degree of familiarity with computer programming, and certainly for a person of ordinary skill in the art to which this invention pertains. As was also previously mentioned, linear programming modules are widely and readily available from a variety of sources, e.g., basic computer programming textbooks, commercial software vendors, computer software libraries, etc. The lighting optimization module and the linear programming module together comprise the computer software of the present invention. The source code of the lighting optimization module used in an exemplary embodiment of the present invention is attached hereto as Appendix 1. The source code of the linear programming module used in this exemplary embodiment of the present invention is attached hereto as Appendix 2. Both the lighting optimization modules and the linear programming module are written in C- language source code. The linear programming module is a linear programming solver program taken from a textbook entitled "Discrete Optimization Algorithms with Pascal Programs", by Syslo, Deo, and Kowalik (Prentice Hall, 1983), which uses the well-known "simplex" method for solving linear programming problems. With respect to the lighting optimization module, the linear programming problem is formulated in terms of the equations (5), (6), (8), and (9) defined hereinabove. With this formulation, since there are n rooms in the building, then there will be 2n bounds constraints, plus one energy level constraint, i.e., a total of 2n + 1 constraint equations in the linear programming problem. There will be n room variables in the linear programming problem, plus two slack variables per room, plus one slack energy variable, i.e. , a total of 3n + 1 variables in the linear programming problem. The A matrix will have the dimensions of 2n + 1 (n) x 3n + 1 (m). The B column vector will be 2n + 1 rows long, and the C row vector will be 3n + 1 columns long. The lighting optimization module of the present invention is also preferably designed to "filter" the optimum room brightness values output by the linear programming module by taking room connectivity into account to save energy, whenever possible. More particularly, if the optimum room brightness value output by the linear programming module for each room served by (i.e. , "connected to") a "utility room", such as a hall, restroom, common area, or the like, is at its minimum level (e.g., 0), then the "filter" portion of the lighting optimization module will adjust the optimum brightness value for that utility room to its minimum level, if it is not already at this level. The source code for this "filter" portion of the linear optimization module of the above-described exemplary embodiment of the present invention is identified as "Utility Room (Topology) Code" in Appendix 1 attached hereto. The filter algorithm represented thereby can be simply expressed as follows. Namely, for each utility room r u in the set U of utility rooms in the building, if for each room r s of the set of rooms S served thereby (i.e. , "connected" thereto), b r = l r , then set b m = 1^ Although a presently preferred embodiment of the present invention has been described in detail hereinabove, it should be clearly understood that many variations and/or modifications of the basic inventive concepts herein taught which may appear to those skilled in the pertinent art will still fall within the spirit and scope of the present invention, as defined in the appended claims. In this regard, the terms "building", "room", and "light source" are used in their broadest possible sense. For example, the term "building" is intended to encompass any structure which has a lighting system, including, but not limited to, single-family homes, multi-family dwellings, apartment buildings, office buildings, warehouses, factories, gymnasiums, auditoriums, theaters, museums, shops, restaurants, hotels, shopping malls, and indoor stadiums. The term "room" is intended to encompass any identifiable, separately lighted portion, zone, sector, or localized area of a building, including, but not limited to, conventional rooms such as offices, bathrooms, closets, storage areas, factory floors, basements, conference rooms, foyers, common areas, utility rooms, or any associated set of such separately lighted portions or zones, sectors, or localized areas of the building whose lighting is intended to be commonly controlled. The term "light source" is intended to encompass not only individual lamps, but also any associated set or group of lamps which are intended to be commonly controlled, e.g., all of the lamps associated with a given room in the building. Further, the particular type of light source, lighting system, or lighting control system employed in connection with the practice of the present invention is not limiting thereto. APPENDIX 1 #define MAXVARS (3*__A__ROO__S+2) /' MAXROOMS is in optlit.h; these */ #define MAXEQS (2*MAXROOHS+2) /' two are proportion.1 to MAXROOMS * /- routine to calculate current energy usage */ /* INPUT - Nr is number of rooms (i.e. size of arrays) R is the room brightness array; each entry is the brightness of the room that its index into the array represents P is the room power factor array; each entry is the power factor • of the lamp in the room represented by the index */ OUTPUT - returns the energy consumed by all rooms FOR ONE TIME UNIT */ double optlit_usage(Nr,R, P) int Nr; Roomarray R,P; ( int i; double E=0.0; for (i=l; i<=-Nr; i++) E *= R[i]*P[i] return E; routine to optimize room brightnesses */ s number of rooms (i.e. size of arrays) the upper brightness bound for each room. the lower brightness bound for each room. the power factor for the lamp in each room. the is priority for each room (Che lower the better). the TARGET energy level. */ the room brightness array; each entry is the optimal brightness of the room represented by the index of this entry given all the input constraints. */ int optli___lflt(Nr,U. .P,Q,E,R) number of rooms */ upper and lower brightness bounds */ power factor • / priority */ overall energy target */ resultant optimal brightnesses */ { double UE. E; /* summed upper and lower energy bounds */ int i.j; /* misc index variables */ Simplex- #cons , #vars */ result flags */ threshold • / Simplex HS A matrix */ Simplex RHS B matrix • / Simplex cost vector */ Simplex result values • / Simplex result pointers V Simplex optimal cost • / / • start by doing some error checking • / if (Nr>MAXROO S) ( printf ("OPT IT: Sorry, max rooms is %d\n" ,MAXROOMS) ; return -1; } /* evaluate upper & lower bounds, to determine if.E is even possible UE = o?tlit__usage(Nr,U,P) ; /* the maximum consumed energy condition */ E = optlit_usage ' (Nr, L, ?) ; / • the minimum consumer energu condition */ if ( (E>UE) I I (E<I_E) ) ( printf COPTLIT: Sorry, energy is out of bounds. \n"); return -1; ) / • printf ("OPTLIT - Setting up room bounds equations. \n" ); */ /* Transfer the room bounds equations into the A matrix */ for (i=l; i<=Nr; i++) { for (j=l; j<=3*Nr+l; j+*) A[i+Nr] [j] = A[i] [j] = 0.0; /* zero all vars in two eqs*/ A[i] [i] = 1.0; A[i] [i+Nr] = 1.0; /* except this + upper slack */ A[i+Nr] [i)= 1.0; A[i-Nr] [i+2*Nr] = -1.0; /* and this + lower slack */ ) /"printf ("OPTLIT - Calculating energy level equation. \n" ); */ /* Now set up the total energy consumption equation */ i = 2*Nr+l; /* equation row number for this */ for (j=l; j<=Nr; j++) A[i] [j] = P[j); /* rooms powers */ for (j=Nr+l; j<3*Nr; j++) A[i] [j) = 0.0; /* u/1 slacks */ A[i] [3*Nr+l] = -1.0; / • energy level slack */ /*ΌΓin f"OPTLIT - Constraint equation matrix done (no priority eqs) . \n" ) ; * / / • for total-ordering of priorities, will need to add extra constraint equations that enforce equal-priority=>equal brightness. This is NOT DONE YET. */ / • printf COPTLIT - Calculating LHS B matrix. \n" ); */ /• establish RHS for all constraint equations set up so far */ for (i=l; i<=Nr; i++) { B[i)=U[i]; B[i+Nr]=L{i] ; ) /* upper and lower rhs */ B[2 » Nr+l] = E; /* energy level rhs • / / • printf COPTLIT - Calculating cost vector.\n" ); */ /* set up the cost vector, using priorities • / for (i=l; i<=Nr; i++) C(i)=Q[i]; /* room variables • / for (i=Nr+l; i<=3 « Nr; i++) C[ij=0.0; /* u/1 slacks • / C[3*Nr+l] = 1.0; /* energy level slack */ / • set up the num constraints/num variables for simplex */ M=2 « Nr+l; /• num eqs */ N=3*Nr+l; / • num vars */ Eps=lE-04; /• zero threshold • / /*optlit_printlp(M,N,A,B,C) ; *//* print the LP program • / / • printf COPTLIT - Calling Si plex-LP for room brightness. \n * ); */ /* NOW call simplex to solve this set of equations • / PSimplex(__M,&N._.Eps,A,3.X,C,W.__F,&NoFeas,.*NoSol) ; if (NoFeas==TRUE) ( print COPTLIT: No Feasible Solution.\n" ) ; return -1; } else if (NoSol==TRUE) { printfCOPTLIT: No solution, unbounded cost n"); return -1; ) else ( /* now set R to optimal values */ for (i=l; i<=M; i++) R[i]=O.0; / • clean it first */ for (i=l; i<=M; i++) if (W[i)<=Nr) /* a room variable in basis */ R[ W[i] ] = X[i); / • W is index, X is value of that index return 0; } //• SINP P S U T D - MM° Prir N M um°bκe t r th of f m c a so t n ri tr c a e i s nt f °e ~ qs ~ - " Problem * / N Number of variables A ,B,C Simplex: MINIMIZE(C) sub to Ax=B * / void optlit_printlp(M,N,A,B,C) int M,N; ArrM2N A; ArrM2 . B ArrN C (int i,j; printfC\nOi > TLIT - LP program is as follows - \n " ) ; printf ( "Number of constraints: %d\__",M); printf("Number of variables: %d\n",N); printfCA=\n") ; for (i=l; i<=M; i++) { printf ("Eq %d: ",i) ; for (j=l; j<=N; j++) printf ("%6.2f ",A[i] ( ]) ; printf ("\n") ; ) printf C\nB=\n") ; for (i=l; i<=M; i++) printf ("%6.2f ",B[i]) ; printf ("\nC=\n") ; for (i=l; i<=N; i++) printf ("%6.2 f ",C[i]) ; printf ("\n\n") ; } /_._ * ____..._.._... *** * •.. * . * . * »* *** * ** ,.../ /* UTILITY ROOM (TOPOLOGY) CODE BELOW • / /* create a utility room structure from the data given */ Utilityroom opttop_create_utility(util,numrooms,rooms) int util, /* the utility room index */ numrooms, /* number of dependant rooms.*/ •rooms; /* array of dependent rooms */ {Utilityroom u; int i; u = (Utilityroom) alloc(sizeof(Utilitystruct) ) ; if (u==NULL) ( fprintf(stderr, "OPTTOP: Cannot allocate utility room %d\n",util) return NULL; } u->utility = util; u->num__dependants = numrooms; u->dependants = (int • Jmalloc(sizeof (int) *nuπ__ooms) ; if (u->dependants==NULL) ( fprintf(stderr, "OPTTOP: Cannot allocate utility list %d\n",util ) - free(u) ; return NULL; } for (i=0; i<numrooms; i++) u->dependants [i] =rooms [i] ; return u; Utilityroom urooms [J ; int num_urooms, arget; (int j , found=FALSE; for (j=0; j<num_urooms; j++) found = (urooms [j]->utili y==targe ) ; return found; /* test if target is in the depndent list for any utlity room */ int opttop_in_utility_lis (urooms,num_urooms, arget) Utilityroom urooms (] ; int nuiτ urooms, target; (int j , i, found; found = FALSE; for (j=Q; j<num_urooms _.& ! found; _++); for (i=0; i<urooms [j ] ->nuπ__dependants && ! found; i++) found = (urooms [ ] ->dependants [i]==target) ; if (found) return j ; else return -1; ) /* This routine checks each of the dependent rooms for all utility rooms. If all the rooms are turned off, then the utility room is turned to its lowest level, possibly saving some energy */ int opttop_filter_utility_rooms (urooms,num_urooms,R, L) Utilityroom urooms []; int num_urooms; Roomarray R,L; (int i, ,allempty; Utilityroom this_uroom; for (i=0; i<num_urooms; i++) { allempty = TRUE; this_uroom = urooms [i] ; for (j=0; j< this_uroom->num_dependantε && ! llempty; j++) allempty = ( R(this_uroom->dependants ( ] ] ==0 ) ; if (allempty) { /*printf ( "OPTTOP-FILTER: utility room %d set to min\n" , this_uroom->utility) ; */ R[ this_uroom->utility ]=L[ this_uroom->utility ]; /* free the space assigned to the utility room structure */ Utilityroom opttop_dθ9troy_utility(u) Utilityroom u; { if ( u->dependantsi=NULL) free(u->deoendants) • free (u) ; • ) / * test if target ia a utility room »/ in t opttop_is_utility_room(urooms , num_urooms , targe ) APPENDIX 2 / • PROCEDURE SUMMARY : This procedure solves the LP problems in " * / / * standard form: * / ' * V /* minimize (c Λ T) x * / /* subject to Ax = b (where b is non- negative) */ / * x >= 0 « / /* PROCEDURE PSIMPLEX INPUT : > «/ /* 1. The number of constraints (M) */ /* 2. The number of variables */ /* 3. A small real number, assigned to the variable (Eps), such that */ /* if for any real number 'a', [a] < Eps, then a = 0; */ / • 4. Array A(1..M, 1..N] of the left-hand-side coefficients of Ax=b; */ / • additionally the rows M + 1 and M + 2 of this array are used */ / • in the procedure to compute the relative cost vector •/ /* 5. Array B[1..M) . Additionally the elements B[M + 1) and 3[M = 2] */ /* are used for intermediate computations */ /* 6. Array C[1..N] , the cost array */ /* */ /* • / /* PROCEDURE PSIMPLEX OUTPUT : > */ /* 1. The boolean variable "NoFeas" equal to TRUE if there is no */ /* solution, and FALSE, otherwise */ /* 2. The boolean variable "NoSol" equal to TRUE if the objective */ /* function is unbounded, and FALSE, otherwise '/ /* 3. W[1..M] array identifying the optimal basic values */ /* 4. X[1..M2] array whose first M elements give the optimal basic */ /• solution (X[I] is the value of the variable numbered W[I] ) . */ /* 5. F, which represents the optimal value of the objective function • / .include <stdio.h> #include <string.h> tinclude "simplex.h" void PSimplex(M,N, Eps,A,B,X,C,W,F,NoFeas,NoSol) int *M; int *N; double *Ξps; ArrM2N A; ArrM2 B; ArrM2 X; ArrN C; ArrM N; double *F; int *NoFeas; int *NoSol; ( int I, J, K, L, P, Q; double D, R, S; ArrM2M2 U; ArrM2 Y; int Ex, Phase, Stop; • NoFeas = FALSE; • NoSol = FALSE; P = *M + 2; Q = *M + 2; Phase = TRUE; K = *M + 1; for(J = 1;J<=*N;J++) ( A[K] [J] = C[J]; S = 0.0; for (I = 1;K=*M;I++) S = S - A[I] [J]; A[P] [J] = S; } S = 0.0; for{I = 1;I<=*M;I++) ( [I] = « N + I; R = B[I]; X[l] = R; S = S - R; ) X[K] = 0.0; X[P) = S; for (I = 1;K=P;I++) ( for (J = 1;J<=P;J++) U[I] [J] = 0.0; U[I] [I] = 1.0; } Stop = FALSE; do { /* UNTIL STOP - PHASE 1 */ if ((X[P] >= -*Eps) && (Phase)) ( Phase = FALSE; Q = *M + 1; } D = 0.0; / • PHASE 2 */ for (J = 1;J<='N;J++) ( S = 0.0; for (I = 1; K=P;I++) S = S + U[Q] [I] * A[I] [J] ; if (D > S) { D = S; K = J; } ) if (D > -*Eps) ( Stop = TRUE; if (Phase) *NoFeas = TRUE; else *F = -χ[ Q J ; else for (I = 1;K_=Q; I++ , S = 0.0; for (J = l;J< = p ;J++) Ex = TRUE; for (I = 1;I<=*M;I++) if (Y[I] >= *Eps) ( S = X[I] / Y[I] ; if ((Ex) I I (S < D)) { D = S; L = I; } . Ex = FALSE; ) if (Ex) ( *NoSol = TRUE; Stop = TRUE; ) else ( W[L] = K; S = 1.0 / Y(L] ; for (J = 1;J<=*M;J++) U(L] [Jl = U[L] (J] • S; if (L == 1) 1 = 2; else 1 = 1; do { S = Y[I] ; X(I] = X[I] - D * S; for (J = 1;J<=*M;J++) U(I] [J] = U[I][J] - U(L] [J] * S; if (I == L - 1) 1 = 1 + 2; else 1 = 1 + 1, } while (I <= Q) ; X[L] = D; } /* NOT EX • / } /* D <= -Eps */ ) while ( !Stop) ; /* PSimplex */

Claims: CLAIMS 1. A method for controlling distribution of energy throughout a building system including a plurality of energy-consuming devices of a type with a selectively adjustable energy consumption level, the method including the steps of: producing energy allocation data which is representative of an optimal allocation of energy to each of the energy-consuming devices and which satisfies a total energy consumption constraint that the total energy allocated to the building system over a prescribed time interval not exceed a prescribed total energy consumption level; and selectively adjusting an energy consumption level of each of the energy- consuming devices in accordance with said energy allocation data. 2. A method as claimed in claim 1, wherein said method includes the steps of: designating a priority level for each of the energy-consuming devices; and producing said energy allocation data at least based in part on the designated priority levels of the energy-consuming devices. 3. A method as claimed in claim 1 or 2, wherein at least one of the energy- consuming devices has a prescribed linear power efficiency coefficient, and wherein the energy allocation data is produced at least partially in accordance with said prescribed linear power efficiency coefficient. 4. A method as claimed in claim 3, wherein the step of producing energy allocation data comprises: using a linear programming technique to produce energy allocation data in accordance with a prescribed set of building system parameters and usage constraints. 5. A method as claimed in claim 4, wherein said step of using a linear programming technique comprises converting said set of building system parameters and usage constraints into a set of simultaneous linear equations and a cost function, and then solving said set of simultaneous linear equations in such a manner as to minimize said cost function, to thereby produce said energy allocation data. 6. A method as claimed in claim 1, wherein the building system comprises a lighting system and the energy-consuming devices include a plurality of light sources of a type with selectively adjustable light output levels, and the selective adjusting includes selectively adjusting a light output level of each of the light sources in accordance with said energy allocation data. 7. A method as claimed in claim 6, wherein a building includes a set of rooms each equipped with at least one of said light sources, the set of rooms including a utility room and at least one associated room served thereby; and wherein the method includes the step of: if the light output level of the light source in each room associated with the utility room is defined by the energy allocation data to be equal to a minimum light output level, then selectively adjusting the light output level of the utility room to the minimum light output level. 8. A method as claimed in claim 6 or 7, wherein the light source is of a dimmable type with a selectively adjustable brightness level, and wherein: the step of producing energy allocation data comprises defining an optimal brightness level for each of the dimmable light sources; and the step of selectively adjusting the light output level comprises selectively adjusting the brightness level of each of the dimmable light sources to the optimal brightness level defined by the energy allocation data. 9. A building system including a plurality of energy-consuming devices of a type with a selectively adjustable energy consumption level and a control system for controlling distribution of energy throughout the building system; the control system comprising: a programmable controller, and software loaded into the programmable controller for producing energy allocation data which is representative of an optimal allocation of energy to each of the energy-consuming devices and which satisfies a total energy consumption constraint that the total energy allocated to the building system over a prescribed time interval not exceed a prescribed total energy consumption level; and wherein the programmable controller is responsive for automatically controlling an energy consumption level of each of the energy-consuming devices in accordance with said energy allocation data. 10. A building system as claimed in claim 9, wherein said energy allocation data is produced at least based in part on a designated priority level of each of the energy-consuming devices. 11. A building system as claimed in claim 9 or 10, wherein at least one of the energy-consuming devices has a prescribed linear power efficiency coefficient, and wherein the energy allocation data is produced at least partially in accordance with said prescribed linear power efficiency coefficient. 12. A building system as claimed in claim 11, wherein producing energy allocation data comprises: using a linear programming technique to produce energy allocation data in accordance with a prescribed set of building system parameters and usage constraints. 13. A building system as claimed in claim 12, wherein using a linear programming technique comprises converting said set of building system parameters and usage constraints into a set of simultaneous linear equations and a cost function, and then solving said set of simultaneous linear equations in such a manner as to minimize said cost function, to thereby produce said energy allocation data. 14. A building system as claimed in claim 9, wherein the building system comprises a lighting system and the energy-consuming devices include a plurality of light sources of a type with selectively adjustable light output levels, and the selective adjusting includes selectively adjusting a light output level of each of the light sources in accordance with said energy allocation data. 15. A building system as claimed in claim 14, wherein a building includes a set of rooms each equipped with at least one of said light sources, the set of rooms including a utility room and at least one associated room served thereby; and wherein said programmable controller is conceived to, if the light output level of the light source in each room associated with the utility room is defined by the energy allocation data to be equal to a minimum light output level, then selectively adjust the light output level of the utility room to the minimum light output level. 16. A building system as claimed in claim 14 or 15, wherein the light source is of a dimmable type with a selectively adjustable brightness level, and wherein: producing energy allocation data comprises defining an optimal brightness level for each of the dimmable light sources; and selectively adjusting the light output level comprises selectively adjusting the brightness level of each of the dimmable light sources to the optimal brightness level defined by the energy allocation data. 17. A control system for controlling distribution of energy throughout a building system including a plurality of energy-consuming devices of a type with a selectively adjustable energy consumption level, the control system comprising: a programmable controller, and software loaded into the programmable controller for producing energy allocation data which is representative of an optimal allocation of energy to each of the energy-consuming devices and which satisfies a total energy consumption constraint that the total energy allocated to the building system over a prescribed time interval not exceed a prescribed total energy consumption level; and wherein the programmable controller is responsive for automatically controlling an energy consumption level of each of the energy-consuming devices in accordance with said energy allocation data. 18. A control system as claimed in claim 17, wherein said energy allocation data is produced at least based in part on a designated priority level of each of the energy-consuming devices. 19. A control system as claimed in claim 17 or 18, wherein at least one of the energy-consuming devices has a prescribed linear power efficiency coefficient, and wherein the energy allocation data is produced at least partially in accordance with said prescribed linear power efficiency coefficient. 20. A control system as claimed in claim 19, wherein producing energy allocation data comprises: 5 using a linear programming technique to produce energy allocation data in J accordance with a prescribed set of building system parameters and usage constraints. 21. A control system as claimed in claim 20, wherein using a linear programming technique comprises converting said set of building system parameters and 10 usage constraints into a set of simultaneous linear equations and a cost function, and then solving said set of simultaneous linear equations in such a manner as to minimize said cost function, to thereby produce said energy allocation data. 22. A control system as claimed in claim 21, wherein the building system 15 comprises a lighting system and the energy-consuming devices include a plurality of light sources of a type with selectively adjustable light output levels, wherein a building includes a set of rooms each equipped with at least one of said light sources, the set of rooms including a utility room and at least one associated room served thereby; and wherein the selective adjusting includes selectively adjusting a light output level of each of the light sources in 20 accordance with said energy allocation data, and wherein said programmable controller is conceived to, if the light output level of the light source in each room associated with the utility room is defined by the energy allocation data to be equal to a minimum light output level, then selectively adjust the light output level of the utility room to the minimum light output level. 25 23. A control system as claimed in claim 22, wherein the light source is of a dimmable type with a selectively adjustable brightness level, and wherein: producing energy allocation data comprises defining an optimal brightness level for each of the dimmable light sources; and 30 selectively adjusting the light output level comprises selectively adjusting the brightness level of each of the dimmable light sources to the optimal brightness level defined by the energy allocation data.

Inventors: LYONS DAMIAN M, LYONS, DAMIAN, M.
Applicants: PHILIPS ELECTRONICS NV, PHILIPS NORDEN AB, PHILIPS ELECTRONICS N.V.
Application year: 1996
Main classification: H05B37
IPC codes: G05F1, H02J3, H02J13, H05B37