This application relates to factory prod uction. More particularly, this application relates to factory production scheduling and energy requirements.
Production scheduling in a Manufacturing Execution System (MES) does not address future energy management, particularly with respect to aspects of Smart Grid technologies including variable energy pricing in future Smart Grids. Scheduling optimization functions in discrete manufacturing industries are designed to maximize production only, without consideration of time varying energy prices (including energy tariffs, demand charge, demand response, tax incentives, and the like) in the optimization process. Presently, manufacturing process optimizations are separated from the energy management system. They are not integrated, and as a result cannot coordinate the relationship between production and energy tariff. Systems and methods that overcome these shortcomings in the art are desired.
In this disclosure, an Energy tariff and Production integrated optimization software, namely, Energy Management Layer (EML) is described. EML is physically deployed inside a factory plant, with access to the MES layer. Meanwhile, EML also communicates with utility-side demand management systems, such as Energy Price Servers, via Internet protocols including but not limited to OpenADR. A key role for EML is incorporating factories into the Smart Grid, by optimizing production schedules according to the Smart Grid conditions.
Manufacturing energy management is aligned with future energy management goals and well suited for future technologies such as the digital factory.
A method for optimizing production operations with respect to energy delivery costs in a factory includes establishing an energy management layer in communication with an energy domain containing a smart grid and a manufacturing domain containing a manufacturing execution system. Information relating to the operation of production units (e.g. machines) is provided to the energy management layer. Further, information relating to time varying energy prices is provided to the energy management layer. The energy management layer optimizes a production schedule for the performance of at least one task by at least one production unit. The production schedule occurs during a time window optimized at least in part by the time varying energy price information.
According to an embodiment the energy management layer is provided information relating to the operation of production units including information relating to a workflow of the factory, information relating to the cost of operation of at least one of the production units, and information relating to a tariff model and/or incentives provided by a utility.
According to another embodiment, time varying energy price information includes a periodic schedule of energy prices from a utility reflecting a unit cost of energy for a pre-determined time period in a near future timeframe. The periodic schedule of energy prices may be obtained from a public data store of the utility. In an embodiment, the periodic schedule of energy prices lists energy prices on an hourly basis for a day following the day on which the periodic schedule of energy prices was retrieved from the public data store.
According to one embodiment, the workflow of the factory may be represented in a State-Task Network. In another embodiment, the workflow of the factory may be represented in a Resource-Task Network.
According to an embodiment, the energy management layer is in communication with the energy domain containing the smart grid through a distributed network. In one embodiment, the distributed network is the Internet.
In an embodiment, optimizing the production schedule for the factory includes determining a power quote for each time slot of a plurality of time slots within a given timeframe, determining energy costs for each of the time slots, and scheduling at least one task in time slots which have been determined to have a minimized energy cost while meeting the power quote constraint for the scheduled time slots.
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:
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.
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.
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.
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.
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.
Referring now to
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.
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.
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
EML 230 resides in between the traditional automation pyramid 221, 223, 225 and the smart grid 210.
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.
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.
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).
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
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
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.
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.
With reference to
A scheduling parameter may be defined as:
Where Ij is the set of tasks that can be performed in unit (j); Wijt 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.
A visual interpretation of Σi∈I
In order to regulate the whole factory peak load and energy bill, a discrete load quote, Qt, and energy price, Pt need to be introduced. The labeled power, that is, hourly energy consumption, for unit (j) is denoted as Cj. The quote Qt is assigned by utilities, which is constrained as:
The total energy bill, C is defined as:
The productivity can be measured by the utility ratio R, which is defined as:
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
As may be seen in
As stated above, the objective of the optimization is minimizing J, which is a tradeoff between C and R.
min J=αC+(1−α)(1−R),α∈[0,1].
Subject to:
This problem may be solved by Mix Integer Programming tools to produce a set of output production variables.
As shown in
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.
Continuing with reference to
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).
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.
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.
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.
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.
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.
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.
Referring now to
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.
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.
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.”
Filing Document | Filing Date | Country | Kind |
---|---|---|---|
PCT/US2016/061571 | 11/11/2016 | WO | 00 |
Number | Date | Country | |
---|---|---|---|
62254917 | Nov 2015 | US |