ENERGY AND PRODUCTION OPTIMIZATION SYSTEM FOR FACTORY TO GRID INTEGRATION
20190156438 ยท 2019-05-23
Inventors
Cpc classification
Y04S20/00
GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
G06Q30/0202
PHYSICS
Y04S10/50
GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
Y02E40/70
GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
Y02B90/20
GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
International classification
G06Q10/06
PHYSICS
Abstract
Production tasks are scheduled to optimize production constraints while taking time varying energy prices into account. An energy management layer (EML) is in communication with a manufacturing domain as well as a smart grid domain. The EML receives information relating to a factory workflow, costs associated with operating units within the factory, and static utility information such as tariff models and incentives. Time variant energy price information is obtained from a utility regarding periodic price levels for a near future timeframe. The workflow is converted to a matrix representation that is acceptable to a mixed integer linear programming (MILP) solver. An algebraic factor representing a tradeoff between energy cost and full-capacity production is minimized to produce production variables which control production and limit production units and tasks to be performed during time slots that are most economically favorable.
Claims
1. A method of integrating manufacturing processing and energy delivery costs optimization in a factory comprising the steps of: establishing an energy management layer in communication with an energy domain containing a smart grid and a manufacturing domain containing a manufacturing execution system, the energy management layer comprising: a data logger for capturing state information of the factory; an interface between the energy management layer and a controller in the factory; a web server for receiving information relating to the energy delivery costs; a data store for storing the state information and the energy delivery costs; and an optimization engine in communication with the data store to perform calculations on integrated factory state data and energy delivery cost data; receiving information relating to the operation of production units to the energy management layer via the interface in the data store; receiving information relating to time varying energy prices via the web server in the data store; optimizing in the optimization engine within the energy management layer, a production schedule for performance of at least one task by at least one production unit within a time window that is optimized based at least in part on the information relating to the time varying energy prices.
2. The method of claim 1, wherein providing information relating to the operation of production units comprises: providing information relating to a workflow of the factory; providing information relating to a cost of operation of the at least one production unit; providing information relating to at least one of a tariff model and energy cost incentives provided by a utility.
3. The method of claim 2, wherein providing information relating to time varying prices of energy comprises: obtaining a periodic schedule of energy prices from a utility, wherein the periodic schedule of energy prices reflects a unit cost of energy for a pre-determined time period within a near future timeframe.
4. The method of claim 3, wherein obtaining a periodic schedule of energy prices comprises: accessing a public data store of the utility; and retrieving from the data store a schedule of prices providing a unit energy price for a given hour in a day following the day on which the schedule of prices was retrieved.
5. The method of claim 2, wherein the workflow of the factory is provided as a State-Task Network (STN).
6. The method of claim 2, wherein the workflow of the factory is provided as a Resource-Task Network (RTN).
7. The method of claim 2, wherein providing information to a cost of operation of the at least one production unit comprises: providing an energy cost incurred by activating a production unit to perform a given task.
8. The method of claim 1, wherein providing information relating to time varying prices of energy comprises: obtaining a periodic schedule of energy prices from a utility, wherein the periodic schedule of energy prices reflects a unit cost of energy for a pre-determined time period within a near future timeframe.
9. The method of claim 8, wherein obtaining a periodic schedule of energy prices comprises: accessing a public data store of the utility; and retrieving from the data store a schedule of prices providing a unit energy price for a given hour in a day following the day on which the schedule of prices was retrieved.
10. The method of claim 1, wherein the energy management layer is in communication with the energy domain via a distributed network.
11. The method of claim 10, wherein the distributed network is the Internet.
12. The method of claim 1 wherein optimizing a production schedule for performance of the at least one task by at least one production unit comprises: determining a power quote for each time slot of a plurality of time slots within a given timeframe; determining an energy cost for each of the time slots in the plurality of time slots; scheduling the at least one task in time slots in which the determined energy cost is minimized while meeting a power quote constraint for the scheduled time slots.
13. The method of claim 1, further comprising the steps of: defining a scheduling parameter according to:
14. The method of claim 13, further comprising the step of: defining a total energy bill C, according to:
15. The method of claim 14, further comprising the step of: defining a utility ratio representative of the factory's productivity according to:
16. The method of claim 15, wherein R is a value between zero and one, a value of one representing 100% utilization on all units J.
17. The method of claim 13, wherein the optimizing step further comprises: optimizing the value of J, according to:
min J=C+(1)(1R),[0,1].
18. The method of claim 17, wherein optimizing the value of J is subject to:
Description
BRIEF DESCRIPTION OF THE DRAWINGS
[0011] The foregoing and other aspects of the present invention are best understood from the following detailed description when read in connection with the accompanying drawings. For the purpose of illustrating the invention, there is shown in the drawings embodiments that are presently preferred, it being understood, however, that the invention is not limited to the specific instrumentalities disclosed. Included in the drawings are the following Figures:
[0012]
[0013]
[0014]
[0015]
[0016]
[0017]
[0018]
[0019]
[0020]
DETAILED DESCRIPTION
[0021] Today's production scheduling function as part of a Manufacturing Execution System (MES) does not address future energy management requirements in the age of the Smart Grid. The scheduling optimization functions in discrete manufacturing industries are designed to maximize production only, without consideration of time varying energy prices (including energy tariff, demand response, tax incentives) in the optimization process.
[0022] Energy prices change significantly over time due to a number of factors. For one, as renewable energy sources become more prevalent and are connected to the power grid, the power that is produced from renewable sources is often varying. For example, a wind farm having a number of wind turbines may be connected to the power grid. Depending on weather and wind conditions, the wind farm may provide significant electrical power to the grid on days when there is a prevailing wind sufficient to turn the turbines and generate electricity. Similarly, solar panels having photo voltaic (PV) cells may also be connected to the power grid. PV cells are subject to reduced power generation due to atmospheric conditions. For example, when the PV cells do not have adequate access to sunlight, their ability to generate electrical power is reduced or eliminated. Accordingly, during dark hours, or on days when clouds occlude the PV cells, the provision of electrical power from PV sources may be adversely affected. As a result, utility companies may change the price of electricity hourly throughout the day due to supply, meaning that at certain times of day, energy may be obtained at a lower price when supply is good than at other times of day when the supply may be limited. A facility or factory that can shift or shave its energy usage from periods of high demand to times of lower demand may experience significant economic benefits.
[0023] In addition, as technology and industry progress, the need for power increases. Whether energy is used for powering heating, ventilation, air conditioning (HVAC) systems to maintain comfort levels for building occupants, or for providing electric power to industrial machinery, as technology progresses, the demand for power increases. There may be times within a given day when power demand is greater than other times of the day. One solution to limited energy supply is to expand power generation facilities such as nuclear or coal plants. Furthermore, backup generators that run on diesel fuel may be used to temporarily power a building or factory during times of restricted energy supplies. However, environmental concerns including the safety of nuclear power and the environmental impact of coal-burning plants create impediments to new construction of these plants. Notwithstanding these impediments to new plant construction, diesel backup generators are expensive to implement and the costs to implement diesel generators to support power grid supplies wind up not being cost effective. Thus, when demand cannot be met, utilities may increase the price of available energy or alternatively, may need to restrict power to some parts of the grid. Nevertheless, total energy demand continues to grow. Furthermore, it is generally believed that there are strong correlations between gross domestic product (GDP) growth and electric usage. It is predictable that the energy demand from major economic entities will continue to grow.
[0024] As a result, utilities use incentives (and tariff models) to encourage peak demand shaving and shifting. For example, according to the Small Commercial (SC) 9 tariff model, New York State may charge up to $50 per kW-month for the peak demand of the month. Thus, 15 minutes of uncontrolled demand during peak hours may result in unacceptable energy bills for the month which may result in potential pecuniary losses. Accordingly, manufacturers cannot ignore the impact of time varying energy prices into the future.
[0025] Conventional manufacturing process optimizations are segregated from energy management systems. These systems are not integrated, and cannot coordinate relationships between production and energy. Manufacturing process optimizations operate on the premise of optimizing the schedule to maximize production. On the other hand, systems such as Real-time Pricing Servers (RTPS), manage peak load for utilities. These systems generally work at the sub-station level or higher.
[0026]
[0027] Referring now to
[0028] Manufacturing domain 220 includes the factory site which defines the automation pyramid comprising the MES 221 which controls the machines and task completion in the factory. The MES 221 provides control signals which are provided to programmable logic controllers (PLCs) 223. PLCs 223 provide control signals to actuators associated with field devices 225. The control signals are operable to cause the field devices 225 to operate according to parameters determined by the MES 221.
[0029] Energy management layer (EML) 230 provides communication between the smart grid domain 210 and the manufacturing domain 220. Energy management layer 230 utilizes Energy and Production integrated optimization software.
[0030] Physically, EML 230 is deployed inside a factory plant, with access to the MES layer 221. The EML 230 may be implemented in a computer system, such as the computer system described below with reference to
[0031] EML 230 resides in between the traditional automation pyramid 221, 223, 225 and the smart grid 210.
[0032]
[0033] EML 230 includes an optimization engine 233 for determining optimal parameters for operating the factory. Optimization engine 233 receives information relating to the factory and information relating to the smart grid and considers both domains to determine optimal times for operating machines in the factory to meet production goals. For example, optimization engine receives information about the smart grid, for example tariff model 235 and other information such as the time-based energy prices provided by the utility for a future timeframe. For example, a utility may provide hourly energy prices for the following day posting this information publicly at the end of the prior day.
[0034] EML 230 includes a runtime manager 231 and a data repository 232. Data repository 232 stores information relating to the smart grid domain as well as information relating to the manufacturing domain 220, including information generated by data logger 236. Runtime manager 231 manages control signals and/or variables containing information for providing a control scheme for MES 221.
[0035] There are two common methods to present processes graphically. A process can be represented as a State-Task Network (STN) or as a Resource-Task Network (RTN).
[0036]
[0037]
[0038]
[0039] EML 230 receives static variables relating to the manufacturing domain. For example EML 230 may receive at least the factory workflow 501, the amount of energy cost per machine and/or task 503 and tariff model 505. The factory workflow 501 may be characterized by information such as the information provided in a source task network similar to the STN shown above in
[0040] EML 230 also receives dynamic information in the form of hourly energy prices 507 and real-time production data 509 by way of example. While the embodiment of
[0041] EML 230 processes the input values and performs an optimization which optimizes not only the factory production schedule, but also considers the most economical times to perform various production tasks based on the varying energy prices throughout the day. As will be described in greater detail herein below, EML 230 performs calculations to calculate production variables 510. The production variables 510 may be provided to the runtime manager for communication to the MES in the manufacturing domain. The variables are used to produce control signals provided to the PLCs producing activation signals to actuators associated with the field devices. The result is a production schedule in which required tasks are performed by one or more machines, each machine being put into service at time windows when the energy costs are minimized while still achieving production constraints.
[0042] In the following paragraphs, the translation of an STN graph into a matrix representation that is acceptable to mixed integer linear programming (MILP) solvers will be presented.
[0043] With reference to
[0044] A scheduling parameter may be defined as:
[0045] Where I.sub.j is the set of tasks that can be performed in unit (j); W.sub.ijt is a set of binary values. The binary value one (1) means that task (i) starts at unit (j) at the beginning of time interval (t). The constraint of less or equal to 1 means that at most one task can start at the beginning of each time interval, for a specific unit. In other words, a machine cannot process two parts at the same time.
[0046] A visual interpretation of .sub.iI.sub.
[0047] In order to regulate the whole factory peak load and energy bill, a discrete load quote, Q.sub.t, and energy price, P.sub.t need to be introduced. The labeled power, that is, hourly energy consumption, for unit (j) is denoted as C.sub.j. The quote Q.sub.t is assigned by utilities, which is constrained as:
[0048] The total energy bill, C is defined as:
[0049] The productivity can be measured by the utility ratio R, which is defined as:
[0050] R is a value between 0 and 1, with 1 meaning 100% utilization of the units (i.e., machines). The objective of the optimization is denoted J, which represents a tradeoff between C and R. That is, the tradeoff may be characterized as the desire to operate at high capacity or efficiency (R), while controlling costs by operating at times that are economically favorable based on the total energy bill (C). The tradeoff exists because the cost of running the factory at full capacity may be greater than benefit derived from the resulting product, due to the energy costs incurred to achieve full production. The optimization may determine that it is better to reduce production and shut down certain machines at times when energy costs are at their greatest. For example, with reference to
[0051] As may be seen in
[0052] As stated above, the objective of the optimization is minimizing J, which is a tradeoff between C and R.
min J=C+(1)(1R),[0,1].
[0053] Subject to:
[0054] This problem may be solved by Mix Integer Programming tools to produce a set of output production variables.
[0055]
[0056] As shown in
[0057] The processors 720 may include one or more central processing units (CPUs), graphical processing units (GPUs), or any other processor known in the art. More generally, a processor as used herein is a device for executing machine-readable instructions stored on a computer readable medium, for performing tasks and may comprise any one or combination of, hardware and firmware. A processor may also comprise memory storing machine-readable instructions executable for performing tasks. A processor acts upon information by manipulating, analyzing, modifying, converting or transmitting information for use by an executable procedure or an information device, and/or by routing the information to an output device. A processor may use or comprise the capabilities of a computer, controller or microprocessor, for example, and be conditioned using executable instructions to perform special purpose functions not performed by a general purpose computer. A processor may be coupled (electrically and/or as comprising executable components) with any other processor enabling interaction and/or communication there-between. A user interface processor or generator is a known element comprising electronic circuitry or software or a combination of both for generating display images or portions thereof. A user interface comprises one or more display images enabling user interaction with a processor or other device.
[0058] Continuing with reference to
[0059] The computer system 710 also includes a disk controller 740 coupled to the system bus 721 to control one or more storage devices for storing information and instructions, such as a magnetic hard disk 741 and a removable media drive 742 (e.g., floppy disk drive, compact disc drive, tape drive, and/or solid state drive). Storage devices may be added to the computer system 710 using an appropriate device interface (e.g., a small computer system interface (SCSI), integrated device electronics (IDE), Universal Serial Bus (USB), or FireWire).
[0060] The computer system 710 may also include a display controller 765 coupled to the system bus 721 to control a display or monitor 766, such as a cathode ray tube (CRT) or liquid crystal display (LCD), for displaying information to a computer user. The computer system includes an input interface 760 and one or more input devices, such as a keyboard 762 and a pointing device 761, for interacting with a computer user and providing information to the processors 720. The pointing device 761, for example, may be a mouse, a light pen, a trackball, or a pointing stick for communicating direction information and command selections to the processors 720 and for controlling cursor movement on the display 766. The display 766 may provide a touch screen interface which allows input to supplement or replace the communication of direction information and command selections by the pointing device 761.
[0061] The computer system 710 may perform a portion or all of the processing steps of embodiments of the invention in response to the processors 720 executing one or more sequences of one or more instructions contained in a memory, such as the system memory 730. Such instructions may be read into the system memory 730 from another computer readable medium, such as a magnetic hard disk 741 or a removable media drive 742. The magnetic hard disk 741 may contain one or more data stores and data files used by embodiments of the present invention. Data store contents and data files may be encrypted to improve security. The processors 720 may also be employed in a multi-processing arrangement to execute the one or more sequences of instructions contained in system memory 730. In alternative embodiments, hard-wired circuitry may be used in place of or in combination with software instructions. Thus, embodiments are not limited to any specific combination of hardware circuitry and software.
[0062] As stated above, the computer system 710 may include at least one computer readable medium or memory for holding instructions programmed according to embodiments of the invention and for containing data structures, tables, records, or other data described herein. The term computer readable medium as used herein refers to any medium that participates in providing instructions to the processors 720 for execution. A computer readable medium may take many forms including, but not limited to, non-transitory, non-volatile media, volatile media, and transmission media. Non-limiting examples of non-volatile media include optical disks, solid state drives, magnetic disks, and magneto-optical disks, such as magnetic hard disk 741 or removable media drive 742. Non-limiting examples of volatile media include dynamic memory, such as system memory 730. Non-limiting examples of transmission media include coaxial cables, copper wire, and fiber optics, including the wires that make up the system bus 721. Transmission media may also take the form of acoustic or light waves, such as those generated during radio wave and infrared data communications.
[0063] The computing environment 700 may further include the computer system 710 operating in a networked environment using logical connections to one or more remote computers, such as remote computing device 780. Remote computing device 780 may be a personal computer (laptop or desktop), a mobile device, a server, a router, a network PC, a peer device or other common network node, and typically includes many or all of the elements described above relative to computer system 710. When used in a networking environment, computer system 710 may include modem 772 for establishing communications over a network 771, such as the Internet. Modem 772 may be connected to system bus 721 via user network interface 770, or via another appropriate mechanism.
[0064] Network 771 may be any network or system generally known in the art, including the Internet, an intranet, a local area network (LAN), a wide area network (WAN), a metropolitan area network (MAN), a direct connection or series of connections, a cellular telephone network, or any other network or medium capable of facilitating communication between computer system 710 and other computers (e.g., remote computing device 780). The network 771 may be wired, wireless or a combination thereof. Wired connections may be implemented using Ethernet, Universal Serial Bus (USB), RJ-6, or any other wired connection generally known in the art. Wireless connections may be implemented using Wi-Fi, WiMAX, and Bluetooth, infrared, cellular networks, satellite or any other wireless connection methodology generally known in the art. Additionally, several networks may work alone or in communication with each other to facilitate communication in the network 771.An executable application, as used herein, comprises code or machine readable instructions for conditioning the processor to implement predetermined functions, such as those of an operating system, a context data acquisition system or other information processing system, for example, in response to user command or input. An executable procedure is a segment of code or machine readable instruction, sub-routine, or other distinct section of code or portion of an executable application for performing one or more particular processes. These processes may include receiving input data and/or parameters, performing operations on received input data and/or performing functions in response to received input parameters, and providing resulting output data and/or parameters.
[0065] A graphical user interface (GUI), as used herein, comprises one or more display images, generated by a display processor and enabling user interaction with a processor or other device and associated data acquisition and processing functions. The GUI also includes an executable procedure or executable application. The executable procedure or executable application conditions the display processor to generate signals representing the GUI display images. These signals are supplied to a display device which displays the image for viewing by the user. The processor, under control of an executable procedure or executable application, manipulates the GUI display images in response to signals received from the input devices. In this way, the user may interact with the display image using the input devices, enabling user interaction with the processor or other device.
[0066] Referring now to
[0067] The information relating to the production workflow and the information relating to the time varying energy price information is used to optimize a production schedule based at least in part on the time varying energy price information 805. A special purpose processor may be used to perform the optimization, which converts a workflow representation, such as a state-task network, and converts the information into mathematical representations that serve as acceptable inputs to the mixed integer linear programming algorithm. The MILP algorithm is performed to generate output production variables to control the production workflow 807 and schedule production actions in time slots which provide the greatest energy savings while meeting energy quote constraints.
[0068] The functions and process steps herein may be performed automatically or wholly or partially in response to user command. An activity (including a step) performed automatically is performed in response to one or more executable instructions or device operation without user direct initiation of the activity.
[0069] The system and processes of the figures are not exclusive. Other systems, processes and menus may be derived in accordance with the principles of the invention to accomplish the same objectives. Although this invention has been described with reference to particular embodiments, it is to be understood that the embodiments and variations shown and described herein are for illustration purposes only. Modifications to the current design may be implemented by those skilled in the art, without departing from the scope of the invention. As described herein, the various systems, subsystems, agents, managers and processes can be implemented using hardware components, software components, and/or combinations thereof. No claim element herein is to be construed under the provisions of 35 U.S.C. 112, sixth paragraph, unless the element is expressly recited using the phrase means for.