A manufacturing execution system (MES) typically coordinates people, processes, equipment and materials for a production environment. However, current MESs do not possess the capability to predict future performance of the production environment based on its real-time state.
This disclosure is not limited to the particular systems, methodologies or protocols described, as these may vary. The terminology used in this description is for the purpose of describing the particular versions or embodiments only, and is not intended to limit the scope.
As used in this document, the singular forms “a,” “an,” and “the” include plural reference unless the context clearly dictates otherwise. Unless defined otherwise, all technical and scientific terms used herein have the same meanings as commonly understood by one of ordinary skill in the art. All publications mentioned in this document are incorporated by reference. All sizes recited in this document are by way of example only, and the invention is not limited to structures having the specific sizes or dimension recited below. As used herein, the term “comprising” means “including, but not limited to.”
In an embodiment, a method of simulating performance of a print production environment may include receiving, by a computing device, print production environment information that comprises one or more of the following: inventory information from a warehouse management system, worker information from a people management system, equipment information from an equipment management system, or job information from a job management system. The inventory information may include real-time information pertaining to one or more inventory items in a print production environment, and the worker information may include real-time information pertaining to one or more workers in the print production environment. The equipment information may include real-time information pertaining to one or more production devices in the print production environment, and the job information may include real-time information pertaining to one or more print jobs being processed by the print production environment. The method may include receiving, by the computing device, a performance parameter associated with the print production environment, and performing, by the computing device, a simulation of operation of the print production environment using the received print production environment information to determine an impact of the performance parameter on the print production environment's performance.
In an embodiment, a system of simulating performance of a print production environment may include a computing device and a computer-readable storage medium. The computer-readable storage medium may include one or more programming instructions that, when executed, cause the computing device to receive print production environment information that comprises one or more of the following: inventory information from a warehouse management system, worker information from a people management system, equipment information from an equipment management system, or job information from a job management system. The inventory information may include real-time information pertaining to one or more inventory items in a print production environment, and the worker information may include real-time information pertaining to one or more workers in the print production environment. The equipment information may include real-time information pertaining to one or more production devices in the print production environment, and the job information may include real-time information pertaining to one or more print jobs being processed by the print production environment. The computer-readable storage medium may include one or more programming instructions that, when executed, cause the computing device to receive a performance parameter associated with the print production environment, and perform a simulation of operation of the print production environment using the received print production environment information to determine an impact of the performance parameter on the print production environment's performance.
The following terms shall have, for purposes of this application, the respective meanings set forth below:
A “computing device” refers to a device that includes a processor and non-transitory, computer-readable memory. The memory may contain programming instructions that, when executed by the processor, cause the computing device to perform one or more operations according to the programming instructions. As used in this description, a “computing device” may be a single device, or any number of devices having one or more processors that communicate with each other and share data and/or instructions. Examples of computing devices include personal computers, servers, mainframes, gaming systems, televisions, and portable electronic devices such as smartphones, personal digital assistants, cameras, tablet computers, laptop computers, media players and the like.
An “inventory item” refers to a material used by a production environment. An inventory item may be a consumable or other replenishable or replaceable materials. For instance, in a print production environment, an inventory item may include, without limitation, toner, paper, pre-printed inserts, envelopes or other media.
A “job” refers to a logical unit of work that is to be completed. For example, in a print production environment, a job may include one or more print jobs from one or more clients.
A “print job” refers to a job processed in a print shop. For example, a print job may include producing credit card statements corresponding to a certain credit card company, producing bank statements corresponding to a certain bank, printing a document, or the like. Although the disclosed embodiments pertain to print jobs, the disclosed methods and systems can be applied to jobs in general in other production environments, such as automotive manufacturing, semiconductor production and the like.
A “production device” device refers to a device used to process at least a portion of a job. Examples of production devices in a print shop may include, without limitation, printers, inserters, binders, punchers, collators, multi-function devices or other similar equipment and/or the like.
A “production environment” refers to machine and/or human labor used to complete one or more jobs. A production environment may include one or more devices or other equipment that may be used to complete one or more jobs. Example production environments may include, without limitation, a print production environment, a chemical production environment, a vehicle production environment, a computing device manufacturing production environment, and/or other manufacturing production environments.
A warehouse management system 102 may track or otherwise monitor the movement, storage and/or inventory of one or more inventory items of a production environment. For example, in a print production environment, a warehouse management system 102 may track the movement, storage, supply and/or inventory of print consumables such as, for example, toner, paper and/or other media. In an embodiment, a warehouse management system 102 may manage one or more bill of material (BOM) requirements for a production environment. A warehouse management system 102 may be implemented as software, hardware or a combination of software and hardware using one or more computing devices.
In an embodiment, a people management system 104 may track the abilities and/or availabilities of one or more workers in a production environment. For example, a people management system may include information about workers' skill sets, schedules and/or the like. For instance, in a print production environment, a people tracking system may include information pertaining to which print devices a device operator has experience operating, a schedule of when a device operator works, an indication of which print-related skills an operator has experience and/or the like. A people management system 104 may be implemented as software, hardware or a combination of software and hardware using one or more computing devices.
In an embodiment, an equipment management system 106 may track information pertaining to one or more computing or other devices in a production environment. Such information may include one or more device capabilities or functionalities, specification information or other manufacturing information associated with a device such as, for example, a model indicator, a serial number, and/or the like, and/or information pertaining to a current operational state of a device. An equipment management system 106 may be implemented as software, hardware or a combination of software and hardware using one or more computing devices.
A job management system 108 may track and monitor information pertaining to one or more jobs to be processed by a production environment. Job information may include, without limitation, a job volume, a job composition, a job workflow, one or more tasks that are to be performed on a job, arrival times, completion times, due dates, processing times and/or the like. For example, in the context of a print environment, job information may include a number of print jobs received over a period of time, the number of pages for each received job, the actual and projected processing times for the print jobs and/or the like. Additional and/or alternate job information may be used within the scope of this disclosure. In an embodiment, a job management system 108 may be implemented as software, hardware or a combination of software and hardware using one or more computing devices.
As illustrated by
As illustrated by Table 1, an inventory item may be associated with a particular stock keeping unit (SKU) number. Inventory information may identify a user of item, such as a cell, a current quantity of the item, and a frequency with which the item is used. For instance, the inventory associated with SKU 8 is used by the department, and currently, there are 84 units of the item available in the warehouse.
In an embodiment, a cell may refer to one or more production devices and/or workers that are grouped by the job that it will process. The Cell column in Table 1 indicates the cell that will receive the items in the inventory. For example, the black and white large job cell will receive the inventory on SKU 1. Although not illustrated by Table 1, in various embodiments, more than one cell may receive the same inventory item.
In an embodiment, a user of a simulation system may indicate what types of inventory information the simulation system should receive from a warehouse management system. A user may make a selection of one or more types of inventory information to receive from a warehouse management system by using a graphical user interface. For instance, a user may identify inventory information using checkboxes, text fields, dropdown menus, buttons, hyperlinks and/or any combination of these methods. Additional and/or alternate selection methods may be used within the scope of this disclosure.
A user may identify certain inventory information to be used in one or more simulations. For instance, in a print production environment, inventory information associated with toner may be useful to include in one simulation, while inventory information about media may be useful to include in a different simulation. A user may have the ability to specify which type of inventory information to include.
Referring back to
In an embodiment, a user of a simulation system may indicate what types of worker information the simulation system should receive from a people management system. A user may make a selection of one or more types of worker information to receive from a warehouse management system by using a graphical user interface. For instance, a user may identify worker information using checkboxes, text fields, dropdown menus, buttons, hyperlinks and/or any combination of these methods. Additional and/or alternate selection methods may be used within the scope of this disclosure.
A user may identify certain worker information to be used in one or more simulations. For instance, in a print production environment, worker information associated with certain workers may be useful to include in one simulation, while worker information about other workers may be useful to include in a different simulation. A user may have the ability to specify which type of worker information to include.
In an embodiment, a simulation system may receive 210 equipment information from an equipment management system. Example equipment information that may be received includes, without limitation, information pertaining to one or more devices in a production environment. This information may include one or more device capabilities or functionalities, specification information or other manufacturing information associated with a device such as, for example, a model indicator, a serial number, and/or the like, and/or information pertaining to a current operational state of a device.
For instance, in a print production environment having a multi-function device, equipment information may include a model and/or serial number associated with the multi-function device and an indication of one or more functions the multi-function device is capable of performing. Equipment information may also include an indication of the current operation status of the multi-function device. For example, equipment information may include an indication of whether the multi-function device is currently in use, idle, off, operating in sleep mode and/or the like. Table 3 illustrates example equipment information for example devices in a print production environment according to an embodiment.
A user of a simulation system may indicate what types of equipment information the simulation system should receive from an equipment management system. A user may make a selection of one or more types of worker information to receive from an equipment management system by using a graphical user interface. For instance, a user may identify equipment information using checkboxes, text fields, dropdown menus, buttons, hyperlinks and/or any combination of these methods. Additional and/or alternate selection methods may be used within the scope of this disclosure.
A user may identify certain equipment information to be used in one or more simulations. For instance, in a print production environment, equipment information associated with certain devices may be useful to include in one simulation, while equipment information about other devices may be useful to include in a different simulation. A user may have the ability to specify which type of equipment information to include.
In an embodiment, a simulation system may receive 215 job information from a job management system. Example job information that may be received includes, without limitation, information pertaining to one or more jobs currently being processed by a production environment, information pertaining to one or more jobs that have already been processed by a production environment, information pertaining to one or more jobs to be processed by a production environment, and/or the like. This information may include a job volume, a job size, one or more setup characteristics associated with a job, turnaround time, and/or the like. A setup characteristic may include a feature of any step in a production process. For example, in a print production environment, a printer setup may be dependent on the type of form used. Alternatively, an insertion operation setup may depend on one or more inserts associated with a job.
In various embodiments, a simulation system may receive inventory information, worker information, equipment information, job information, or any combination thereof. For example, a simulation system may receive inventory information, worker information and job information. As another example, a simulation system may receive worker information and job information. Additional and/or alternate combinations of information may be received within the scope of this disclosure.
A user of a simulation system may indicate what types of job information the simulation system should receive from a job management system. A user may make a selection of one or more types of job information to receive from a job management system by using a graphical user interface. For instance, a user may identify job information using checkboxes, text fields, dropdown menus, buttons, hyperlinks and/or any combination of these methods. Additional and/or alternate selection methods may be used within the scope of this disclosure.
In an embodiment, a user may identify certain job information to be used in one or more simulations. For instance, in a print production environment, job information associated with a certain time period may be useful to include in one simulation, while job information associated with a different time period may be useful to include in a different simulation. A user may have the ability to specify which type of job information to include.
In certain embodiments, at least a portion of the received print production environment information may be standardized. Print production environment information may be received from different systems or types of systems. As such, received information may have significant variability in the types of information and the format of the information across production environments. A simulation system may standardize received information to perform a simulation. Standardizing information may involve converting received information to the same format, reformatting received information, selecting a portion of the received information to include in a simulation and excluding a portion of the received information from the simulation, and/or the like.
Referring back to
Performance parameters may be used by a user, such as a production environment operator, to predict how a production environment will perform in certain situations. Example simulation parameters may include, without limitation, varying an amount of work to be processed by a production environment, varying an amount of inventory accessible to a production environment, varying an operation status of one or more pieces of equipment in a production environment, varying the schedule of one or more workers and/or the like. In an embodiment, a simulation system may receive 220 one or more performance parameters from a system user.
In an embodiment, one or more operating conditions may be received 225. An operating condition may specify operating policy information associated with a production environment. Operating policy information may indicate a manner in which a job is to be processed. For instance, operating policy information may indicate the order in which jobs will be sequenced such as, for example, earliest due date, shortest processing time, first-in-first-out, and/or the like. Operating policy information may also indicate how one or more jobs are to be routed to production devices, cells and/or the like. For instance, this information may specify that one or more jobs are to be routed based on job size, whether jobs are to be grouped together into larger lots and routed, whether the jobs are to be broken into smaller lots and routed, and/or the like.
In an embodiment, an operating condition may include scheduling information associated with a production environment. Scheduling information may indicate when a production environment is open, closed or otherwise operable or inoperable. In an embodiment, scheduling information may be received 225 from a scheduling system in communication with the simulation system. In another embodiment, scheduling information may be stored by the simulation system.
A simulation may be performed using received inventory information, worker information, equipment information and/or job information, one or more performance parameters, and/or one or more operating conditions to determine what impact, if any, the performance parameter will have on the performance of the production environment. A system user may want to simulate the operation of a production environment under various “what-if” scenarios. A user may model these “what-if” scenarios by specifying one or more performance parameters. For instance, a user may want to simulate the performance of a production environment if a certain worker is not able to work on a particular day. As another example, a user may want to simulate the performance of a production environment if a piece of equipment becomes inoperable, or if a supply of inventory is diminished. Other parameters may include device down times, device production rates, different cellular configurations and/or the like. Additional and/or alternate performance parameters may be used within the scope of this disclosure.
Example impacts that may be revealed by a simulation may include, without limitation, a change in efficiency or throughput of the production system, identification of one or more slow or bottleneck production devices, a need for more or less inventory and/or the like.
A simulation system may receive 220 one or more performance parameters from a computing device associated with a user. A user may use a GUI to identify one or more performance parameters that are to be included in a simulation. For instance, a user may identify one or more performance parameters using checkboxes, text fields, dropdown menus, buttons, hyperlinks and/or any combination of these methods. Additional and/or alternate selection methods may be used within the scope of this disclosure.
A simulation system may receive 225 one or more operating conditions from a computing device associated with a user. A user may use a GUI to identify one or more operating conditions that are to be included in a simulation. For instance, a user may identify one or more operating conditions using checkboxes, text fields, dropdown menus, buttons, hyperlinks and/or any combination of these methods. Additional and/or alternate selection methods may be used within the scope of this disclosure.
In an embodiment, a simulation system may perform 230 a simulation of the operation of a production environment. The simulation may be automatically performed 230. For instance, a simulation may be automatically performed in response to receiving at least a portion of print production information, one or more performance parameters, one or more operating conditions and/or the like in order to simulate the operation of a production environment using substantially real-time information. The simulation system may simulate the operation of a production environment using at least a portion of the received inventory information, worker information, equipment information and/or job information. The simulation may also include at least a portion of the received performance parameters and/or one or more received operating conditions. As such, a simulation system may simulate the performance of a production environment using real-time inventory information, worker information, equipment information and/or job information. Accordingly, the current state of various aspects of a production environment may be captured and incorporated into a simulation model to evaluate their impact of the performance of the production environment.
In an embodiment, a simulation system may perform 230 a simulation by optimizing performance over a certain range of acceptable values for one or more performance parameters. Optimization approaches such as, for example, simulated annealing, genetric algorithms or greed optimization methods may be used.
One or more results of the simulation may be presented 235 to a user. The results of the simulation may include various metrics related to the performance of the production environment under the modeled conditions. Such metrics may include, without limitation, an amount of work the production environment processed, job processing times, total job completion times, job lateness levels, an amount of one or more inventory items that were used during the processing, one or more pieces of equipment that created bottlenecks during processing, operational statuses of one or more pieces of equipment during processing and/or the like.
The results may be presented to a user via a display device, via email and/or the like. For instance, one or more graphs, charts, pictures, images, scales and/or other visual depictions may be displayed to a user on a display device and may illustrate one or more simulation results.
In an embodiment, the simulation system may present 240 a user with one or more recommendations for a production environment. The recommendations may be based at least in part on one or more simulation results, and may include one or more changes that a user can implement to address one or more of the impacts of the modeled performance parameter. Example recommendations may include, without limitation, adding or removing a piece of equipment, changing one or more worker schedules, increasing or decreasing an inventory supply, and/or other changes that increase the efficiency and/or throughput of the production environment.
A controller 320 interfaces with one or more optional non-transitory computer-readable storage media 325 to the system bus 300. These storage media 325 may include, for example, an external or internal DVD drive, a CD ROM drive, a hard drive, flash memory, a USB drive or the like. As indicated previously, these various drives and controllers are optional devices.
Program instructions, software or interactive modules for providing the interface and performing any querying or analysis associated with one or more data sets may be stored in the ROM 310 and/or the RAM 315. Optionally, the program instructions may be stored on a tangible non-transitory computer-readable medium such as a compact disk, a digital disk, flash memory, a memory card, a USB drive, an optical disc storage medium and/or other recording medium.
An optional display interface 330 may permit information from the bus 300 to be displayed on the display 335 in audio, visual, graphic or alphanumeric format. Communication with external devices, such as a printing device, may occur using various communication ports 340. A communication port 340 may be attached to a communications network, such as the Internet or an intranet.
The hardware may also include an interface 345 which allows for receipt of data from input devices such as a keyboard 350 or other input device 355 such as a mouse, a joystick, a touch screen, a remote control, a pointing device, a video input device and/or an audio input device.
It will be appreciated that the various above-disclosed and other features and functions, or alternatives thereof, may be desirably combined into many other different systems or applications or combinations of systems and applications. Also that various presently unforeseen or unanticipated alternatives, modifications, variations or improvements therein may be subsequently made by those skilled in the art which are also intended to be encompassed by the following claims.