In a production facility such as a print shop, it is helpful to have an effective operations control system. However, achieving effective control is often difficult due to the complexity of most production systems. Stochastic behavior, non-linearity, discrete event behavior, and other disturbances can all affect operations of a production facility and make analysis difficult. The lack of a comprehensive approach to operations control can result in control systems that are ad-hoc and not robust, far from optimal, and in some cases result in worse performance than open loop.
This document describes methods and systems that address some or all of the problems described above.
In an embodiment, a print job planning system determines a current state of a print shop and a set of expected disturbances for the print shop. It uses the current state and set of expected disturbances to determine a cost for anticipated work in progress associated with various actuations. It also identifies a minimum cost from the determined costs, along with an actuation that corresponds to the minimum cost. It may then generate a report of the actuation, generate a work schedule based on the identified actuation, and/or cause the identified actuation to be implemented by at least one print device of the print shop.
In some embodiments, determining the cost for each actuation may include determining a cost for each of a standard time component and a non-standard time component, wherein each of the overtime component and non-overtime component are assigned a different weight.
In some embodiments, determining the minimum cost may include applying one or more constraints to a cost function such that a sum of actuations that any print device in the print shop may encounter in a single time period does not exceed a value corresponding to full utilization. In other embodiments, determining the minimum cost may include determining an accumulated demand for a product produced by the print shop, and imposing a constraint on a cost function that requires print shop output to equal or exceed the accumulated demand.
In some embodiments, determining the cost for each actuation may include using a cost function to determine the cost, wherein the cost function comprises one or more of the actuators modified by a weighting factor, wherein the weighting factor corresponds to one or more conditions of the print shop during a time period associated with the set of expected disturbances. In some embodiments, the cost function also may include one or more of the following constraints: a production rate boundary, a work in progress level boundary, or a boundary on a sum of actuations received at any given point in time.
This disclosure is not limited to the particular systems, devices and methods described, as these may vary. The terminology used in the 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 references 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. Nothing in this disclosure is to be construed as an admission that the embodiments described in this disclosure are not entitled to antedate such disclosure by virtue of prior invention. As used in this document, the term “comprising” means “including, but not limited to.”
For purposes of the discussion below, a “computing device” refers to a device that includes a processor and tangible, 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. Examples of computing devices include personal computers, gaming systems, televisions, and portable electronic devices such as smartphones, personal digital assistants, cameras, tablet computers, laptop computers, media players and the like.
A “print device” refers to a device capable of performing one or more functions, operations and/or services on a print job. For example, a print device may provide print-related services for one or more print jobs. A print device may include a printer, multi-function device or other similar equipment that is capable of printing an image on a label.
A “print job” refers to a logical unit of work that is to be completed for a customer by a print shop. For example, a print shop order may be a request from a customer to print, collate, and cut, staple and/or bind a document or set of documents. A job may include one or more print jobs from one or more clients. 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 “print shop” refers to an entity that includes multiple document production resources, such as printers, cutters, collators and the like. A print shop may be a freestanding entity including one or more print-related devices. Examples include a printing service provider, or it may be a document production group within a corporation or other entity, such as a work area that contains one or more printers. Additionally, a print shop may communicate with one or more servers by way of a local area network or a wide area network, such as the Internet, the World Wide Web or the like.
This document describes a comprehensive, systems level approach to production control, whether in manufacturing or business process systems, that builds on a Rolling Horizon Planning (RHP) methodology. RHP is also known as Model Predictive Control (MPC). In the embodiments described below, control decisions are determined that optimize a cost function that penalizes variations from desired set points over a future time horizon. To handle issues common in manufacturing and business process environments such as overtime and the existence of multi-functional machines, the RHP approach is adapted in novel ways. In some embodiments, shop floor personnel may maintain the model (i.e. keep it “evergreen” and use it to embody the knowledge that is quantitative), as well as modify the cost criteria weights or terms to suit their particular needs. Although the examples below describe the use of the methods and systems in connection with a print shop, the approach is widely applicable to other manufacturing or business process environments.
Production facilities are often required to make operational control decisions in stochastic, complex, and constrained environments. Questions such as what product to make, in what quantity, when, and how, all must be addressed in some form. In the methods and systems discussed in this document, RHP is a controller incorporating feedback that uses both a system model and any set of constraints to predict the process outputs over a future time horizon.
The system may consider various factors or sets of factors. Example factors include: (1) a current state of the production facility; (2) expected future disturbances for the facility (which are events that originate from outside of the facility, or which the facility operators do not control, such as the receipt of new print jobs); and (3) actuations (which are events that one or more operators control, such as a selection of which device(s) will be used to process a job).
In an embodiment, the system may employ a processor to determine (such as via quadratic programming) a sequence of actuations that minimizes a quadratic cost function over a receding horizon. In some embodiments, the basic process may include the following steps: a first actuation is applied, the horizon is displaced by one sampling instant, and the process is repeated.
This process is shown in
In
The system also may identify known past disturbances (represented by stars, e.g., 261) and estimated future disturbances (represented by circled stars, e.g., 262). The system also may identify known past actuations (each represented by an “x”, e.g., 271) and estimated future disturbances (represented by circled stars, e.g., 262). Actuators may vary between a minimum level 221 and a maximum level 222. The embodiments below may determine what the future (i.e., after time T0) should be based on the past correlations between disturbances, actuators and output.
Each print device that has two or more possible outputs can only produce one type of output at a time. For example, one print device 311 may be capable of producing a black-and-white output or a color output, but not both at the same time.
The system may use a cost function, typically quadratic, to penalize WIP levels and determine the actuators (i.e., print device settings or print shop actions) that will minimize the cost for the WIP. A cost may be any measure of value, or a measure of resources required to complete one or more jobs. For example, cost may be measured in terms of money (e.g., dollars and cents), time required, human resources required, consumables required, or similar value-based or resource-based measurements. The cost function may be required to consider one or more constraints, such as minimum and maximum production rates, prohibiting negative WIP levels, bounding the maximum WIP levels, or ensuring that the sum of the actuations at any given time of a multifunctional device never exceeds 100%. The cost function may be, for example:
where constraints may be:
0≦uj(k+i|k)≦ujmax(i)
Δujmin(i)−εVjminΔu(i)≦Δuj(k+i|k)≦Δujmax(i)+εVjmaxΔu(i)
0≦WIPj(k+i+1|k)≦WIPjmax(i)+εVjmaxy(i)
ε≧0, i=0, . . . ,p−1, and u is constant beyond control horizon to p.
In the equations above, the parameters are:
Thus, referring to
In some embodiments, the cost function weights can be adjusted to penalize the actuation of overtime and/or outsourcing by the print shop. In other words, the weight ω can be used to penalize certain actuators depending on one or more conditions. This may achieved by receiving or automatically identifying actuators that are redundant, and penalizing only those actuators that correspond to overtime by non-zero weight terms. For example, if there are three shifts in the print shop, then different levels of weight can be assigned depending on which shift is in effect. For example, a standard weekday shift may be assigned a weight of ωμij=zero, while a non-standard (e.g., evening) shift may be assigned a penalty or weighting factor of ωμij=one, and a different non-standard (e.g.,) midnight shift may be more expensive than the evening shift and assigned a penalty or weighting factor of ωμij=two. This can be accomplished, referring to the cost function above, by assigning non zero values to weights ωμij to actuators μ2 and μ3 if they are respectively second shift and third shift. If third shift is more costly than second shift then presumably ωμi2<ωμi3. The weight on the day shift can be assigned a zero value if we do not choose to penalize that time period. Similarly, standard time may be assigned a first weight, and overtime assigned a different weight.
Thus, the actuators can be broken into conditional components, such as standard time and non-standard time components, and each component may be weighted differently in the cost calculation.
In some embodiments, product lateness may penalized by incorporating it as an additional constraint on a set of new state variables. For example, the state variables for a product may include the completed finished goods at time k, and the accumulated demand at time k−η, where η is the time interval after which product is due. The difference between these two variables may be required be greater than or equal to 0, otherwise the production system may be determined to have fallen behind in due dates. This can be expressed as, for any given time: Finished_Goods(k)−Demand_Accumulated(k−η)≧0. This is a constraint on state variables and can be incorporated into the RHP framework. The variable Finished_Goods(k) represents the level(s) in the tanks at the system output, and the accumulated demand is the integral of the demand at the input tanks.
Multifunctional machine behavior may be captured by imposing a constraint such that the actuations that share a given machine cannot at any time instant exceed 100% of utilization. As an example, referring to
In some embodiments, referring again to
In some embodiments, a model may be developed and saved to a computer-readable memory. The model may include data corresponding to the available current states, disturbances, actuators and costs. In some embodiments, the model may be periodically updated with data such as actual WIP levels, print device production rates, and other actual data relating to print shop performance.
For a document processing case,
A controller 820 interfaces with one or more optional tangible, computer-readable memory devices 825 to the system bus 800. These memory devices 825 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 810 and/or the RAM 815. Optionally, the program instructions may be stored on a tangible computer readable medium such as a compact disk, a digital disk, flash memory, a memory card, a USB drive, an optical disc storage medium, such as a Blu-ray™ disc, and/or other recording medium.
An optional display interface 835 may permit information from the bus 800 to be displayed on the display 835 in audio, visual, graphic or alphanumeric format. Communication with external devices, such as a printing device, may occur using various communication ports 840. A communication port 850 may be attached to a communications network, such as the Internet or an intranet.
The hardware may also include an interface 845 which allows for receipt of data from input devices such as a keyboard 850 or other input device 855 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.
The above-disclosed features and functions, as well as alternatives, may be combined into many other different systems or applications. Various presently unforeseen or unanticipated alternatives, modifications, variations or improvements may be made by those skilled in the art, each of which is also intended to be encompassed by the disclosed embodiments.
This patent document claims priority to U.S. provisional patent application No. 61/611,341, filed Mar. 15, 2012. The disclosure of the provisional application is incorporated herein by reference in its entirety.
Number | Date | Country | |
---|---|---|---|
61611341 | Mar 2012 | US |