Print shops are document manufacturing systems that manufacture document-based products or items. The cost and performance metrics of a print shop typically depend on the equipment type and numbers and the associated production processes in a very complex manner. This makes optimizing production device and production environment configurations difficult.
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 determining a configuration of production devices in a print production environment may include receiving, by a computing device, one or more production environment characteristics associated with a print production environment, receiving job processing information, identifying, by the computing device, a performance measure, receiving a desired value associated with the identified performance measure, receiving one or more parameters associated with a random search algorithm, and performing, by the computing device, the random search algorithm based on at least the received job processing information and the received parameters to determine a configuration of production devices in the print production environment that satisfies the desired value associated with the performance measure.
In an embodiment, a system of determining a configuration of production devices in a print production environment may include a computing device and a computer-readable storage medium in communication with the computing device. The computer-readable storage medium may include one or more programming instructions that, when executed, cause the computing device to receive one or more production environment characteristics associated with a print production environment, receive job processing information, identify a performance measure, receive a desired value associated with the identified performance measure, receive one or more parameters associated with a random search algorithm, and perform the random search algorithm based on at least the received job processing information and the received parameters to determine a configuration of production devices in the print production environment that satisfies the desired value associated with the performance measure.
In an embodiment, a system of determining a configuration of production devices in a print production environment may include a computing device and a computer-readable storage medium in communication with the computing device. The computer-readable storage medium may include one or more programming instructions that, when executed, cause the computing device to receive one or more production environment characteristics associated with a print production environment, receive job processing information, receive one or more parameters associated with a random search algorithm, perform the random search algorithm using a plurality of simulations to determine one or more performance measures based on at least the received job processing information and the received parameters, and determining, based on the one or more performance measures, a configuration of production devices in the print production environment that satisfies one or more desired values associated with the one or more performance measures.
The following terms shall have, for purposes of this application, the respective meanings set forth below:
A “cell” refers to one or more production devices in a production environment that are capable of processing at least a portion of a job. For example, in a print production environment, a cell may include one or more print production devices that are capable of processing at least a portion of a print job.
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, 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.
A “job” refers to a logical unit of work that is to be completed for a customer. For example, in a print production environment, a job may include one or more print jobs from one or more clients. For example, a job in a vehicle production environment may include manufacturing a vehicle or a portion thereof. As another example, a job in a chemical production environment may include producing or processing a chemical product or a portion thereof. Similarly, a job in a computing device production environment may be to manufacture a computing device or a portion thereof such as, for example, a printer, a scanner or a copier.
A “print job” refers to a job processed in a print shop. For example, a print job may include a series of processing steps for 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. In this document, a print job may refer to the set of instructions that cause the items to be produced or printed, as well as the work-in-progress and produced items themselves. 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” refers to a device that is capable of processing at least a portion of a job. For example, in a print production environment, an example production device may include, without limitation, a printer, scanner, collator, binder, hole punch 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 production 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.
Software and systems, such as, for example, Xerox's Lean Document Production (LDP) solution, may enable modeling of complex print production environments under a cellular production framework. For example, the software toolkit described in Rai, Duke, Lowe, Quan-Trotter and Scheermesser 2009, LDP Lean Document Production—O.R.—Enhanced Productivity Improvements for the Printing Industry, Interfaces Vol. 39, No. 1, January-February 2009, pp. 69-90, involves automating steps of a modeling process by generating complex simulation models that are used to determine improved design and operating points for print shops.
A production environment and the work flowing through it may be modeled to gain an understanding of the production environment's current state. One or more simulations of production environment operations may be performed to determine one or more parameters needed to achieve a desired state. One or more simulations may be used to identify opportunities to increase the overall productivity of production environments through the positioning of production devices and operators, changes in workflow routing, cross-training of production device operators and/or the like.
The methods and systems described in this document generally relate to performing a random search algorithm to enable automated search of a large number of design alternatives in the presence of operational constraints to determine a cost-optimal solution for a production environment, such as, for example, a print production environment. For example, simulated annealing may be performed to determine optimal or near-optimal solutions when simulation output is normal or non-normally distributed. An automated method that uses a random search technique, such as an optimization technique, may be used to determine the most cost-effective production environment configuration that meets the production environment's performance goals.
In an embodiment, the problem of selecting an optimal production device configuration that meets one or more production environment performance goals may be mathematically illustrated as follows:
where:
S represents the search space, and comprises a large, finite and discrete set of design configurations;
Xk is the kth design configuration, which includes a combination of different types of production devices;
xij represents the number of ith type of production device in the jth cell;
Nj represents the number of unique types of production device in cell j;
W represents the number of cells in the production environment;
lb represents the lower bound for each unique type of production device;
ub represents the upper bound for each unique type of production device;
ƒ0(Xk) represents the primary performance measure of interest;
ƒ1(Xk) represents the secondary performance measure of interest; and
δ represents the maximum desirable level for secondary performance measures.
In an embodiment, the performance measures may not have a closed form and, as such, may be evaluated via simulation. If V1k is the stochastic simulation output for design Xk, then the performance measure may be estimated as an expectation of this variable. For example, performance measure f1(Xk) may be estimated as ƒ1(Xk)=E[V1k].
In an embodiment, one or more random search algorithms that are adapted for a stochastic environment associated with discrete-event simulation optimization may be used to determine an optimal production device configuration for a production environment. A random search algorithm may be one that uses a type of randomness, such as, for example, a pseudo-random number generator. Example random search algorithms may include, without limitation, simulated annealing, tabu search, clustering algorithms, cross-entropy, genetic algorithms, particle swarm optimization, evolutionary programming, stochastic approximation, multi-start, and ant colony optimization.
A random search algorithm may search the design space to determine the most cost-effective production device configuration by automatically running multiple simulations and selecting the best solution. This automated procedure alleviates the need for manual operator intervention during the simulation iterations, and it provides a faster and more efficient solution than a manual approach.
A production environment characteristic may refer to a characteristic associated with the operation of a production environment. Example production environment characteristics may include, without limitation, a number of production devices, one or more types of production devices, a number or a numerical range of a particular type of production device, one or more setup characteristics, a job mix variability, a cost and/or other operating conditions. In an embodiment, one or more production environment characteristics may be received 200 from a user, from one or more production devices, from one or more computing devices and/or the like.
In an embodiment, job processing information may be received 202. Job processing information may include characteristics about one or more jobs to be processed by a production environment such as, for example, a job type, a job volume associated with one or more production steps, one or more attributes associated with a job step (e.g., type of form on which the job needs to be printed), job arrival time, due time and/or the like.
In an embodiment, job processing information may include one or more operating policies associated with the production environment. An operating policy may include one or more operating conditions that specify the sequence in which the jobs are to be processed. For example, a release control policy may specify the number of jobs that are released into a production environment at a given time. A lot-splitting policy may specify how many lots the jobs are to be split into for concurrent processing on multiple devices. In an embodiment, a batching policy may specify how jobs may be grouped based on similar characteristics (e.g., printing on the same form type). A batching policy may specify how jobs may be grouped based on similar characteristics (e.g., printing on the same form type). A routing policy may specify the cells and/or production devices to which the jobs are to be routed.
In an embodiment, one or more performance measures may be identified 204. A performance measure may be an operational parameter associated with a production environment. Example performance measures may include, without limitation, a mean turnaround time, cost, throughput, number of late jobs and/or the like. In an embodiment, a performance measure may be identified 204 by a user.
In an embodiment, a desired value or range of values associated with a performance measure may be received 206. In an embodiment, a desired value or range of values may be received 206 from a user. A desired value or range of values may include, without limitation, a minimum value, a maximum value, an average value and/or the like associated with a performance measure. For example, a user may specify a maximum value of a performance measure associated with a cell or a production environment. For instance, if a performance measure is turnaround time, a user may specify that the maximum value associated with turnaround time is 10 hours. Additional and/or alternate values and/or types of values may be used within the scope of this disclosure.
In an embodiment, a significance value associated with a test may be received 208. A significance value may be received 208 from a user, a computing device, a computer-readable memory and/or the like.
In an embodiment, one or more random search technique parameters may be received 210. A random search technique parameter may be one or more parameters used in a random search algorithm. In an embodiment, example random search technique parameters for annealing may include, without limitation, a number of times to run a simulation on a design, a temperature depth, a temperature decay rate, a number of times to search a neighborhood solution at a given annealing temperature and/or the like.
In an embodiment, a random search algorithm may be performed 212. For example, a modified simulated annealing algorithm may be performed 212. Performing a modified simulated annealing algorithm may identify the most cost-effective production environment configuration that meets the performance goals of a production environment. For example, a modified simulated annealing algorithm may identify a cost-effective configuration that has a performance measure value that does not exceed the received maximum value associated with the performance measure.
In an embodiment, a modified simulated annealing algorithm may evaluate one or more performance measures via simulation. The algorithm may use a cooling schedule and may use all observations obtained at a particular point in time to estimate a performance measure.
In an embodiment, a solution may be considered feasible if it has a performance measure value that does not exceed the received maximum value associated with the performance measure. To test feasibility at a current iteration, an arbitrary stochastic constraint, g(θ)≦δ, may be considered where g(θ) is the simulation output for design θ and δ represents a maximum desirable value for a performance measure. Letting gi(θ) denote the ith simulation replication and running the simulation n times, the estimate for g(θ) may be determined over n replications as
with the variance of ĝ(θ) represented by
The feasibility conditions may be represented as follows:
H
0
: ĝ(θ)<=δ
H
1
: ĝ(θ)>δ
In an embodiment, H0 may be accepted if
ω=ĝ(δ)+tn−1,1−α×{circumflex over (σ)}ĝ(δ)/√{square root over (n)}≦δ
n−1 is the degrees of freedom,
1−α is the upper critical point for the t distribution
{circumflex over (σ)}ĝ(θ) denotes the standard deviation of ĝ(θ)
In an embodiment, the search space, S, may be a set of design configurations whose cardinality is represented by
For each Xk∈S, there exists a subset N(θ) of S−{Xk} which may be referred to as the set of neighbors of Xk, such that each point in N(θ) can be reached from Xk in a single transition.
In an embodiment, example annealing parameters may be as follows:
The following pseudo-code illustrates an example method of performing 212 a modified simulated annealing algorithm according to an embodiment.
In an embodiment, a configuration may be identified 214. A configuration may be identified 214 based on one or more results of a random search technique. In an embodiment, the identified configuration may be presented 216 to a user. For example, an identified configuration may be displayed to a user on a display device, may be emailed to a user and/or otherwise presented to a user.
In an embodiment, the systems described in this disclosure may be implemented as a standalone solution. Alternatively, the systems may be implemented as a web-based or cloud-based solution. Although annealing is described as a search technique in this disclosure, it is understood that other random search techniques may be used within the scope of this disclosure.
The following illustrates methods of selecting an optimal production device configuration using three example problems. For each illustrative problem, the total station fixed cost is the objective function, and is defined as a linear function of production device costs ƒ0(Xk)=Ci×Xij′, where Ci is the fixed cost of the ith station, and Xij is the number of ith type of production device in the jth cell. An example production environment may be a print shop having two cells and six stations. Table 1 illustrates example numerical range, type and cost information for each production device according to an embodiment.
Assuming 2,692 jobs having different workflows arrive over a time period, the total number of production device configurations (S) may be determined using the following equation:
where
Xij is the number of ith type of production device in the jth cell, which is equal to the difference of the upper and lower bounds;
Nj is the number of stations per cell;
W is the number of cells in the production environment;
j is the cell index;
i is the station index;
Table 2 illustrates example production device configurations according to an embodiment.
In this problem, average turnaround time (Avg TAT) less than or equal to five hours is the production environment performance goal. Table 3 illustrates the optimal and/or near optimal production device configuration and the associated total station cost obtained from a manual selection procedure for N, which represents the number of simulations to run each design configuration. In this problem, N=30.
In comparison, Table 4 illustrates the optimal and/or near optimal production device configuration and the associated total station cost obtained from automatic selection procedure using the following simulated annealing parameters:
n=5
L=5
Tdepth=100
r=0.9
significance value for t-test α=0.01 for three different simulated annealing runs
In this problem, maximum turnaround time (Max TAT) less than or equal to twenty-four hours is the production environment performance goal. Table 5 illustrates the optimal and/or near optimal production device configuration and the associated total station cost obtained from a manual selection procedure for N=30.
In comparison, Table 6 illustrates the optimal and/or near optimal production device configuration and the associated total station cost obtained from automatic selection procedure using the following simulated annealing parameters:
n=5
L=5
Tdepth=100
r=0.9
significance value for t-test α=0.01 for three different simulated annealing runs
In this problem, the number of late jobs less than or equal to zero hours is the production environment performance goal. Table 7 illustrates the optimal and/or near optimal production device configuration and the associated total station cost obtained from a manual selection procedure for N=30.
In comparison, Table 8 illustrates the optimal and/or near optimal production device configuration and the associated total station cost obtained from automatic selection procedure using the following simulated annealing parameters:
n=5
L=5
Tdepth=100
r=0.9
significance value for t-test α=0.01 for three different simulated annealing runs
A controller 620 interfaces with one or more optional non-transitory computer-readable storage media 625 to the system bus 600. These storage media 625 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 610 and/or the RAM 615. 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, such as a Blu-ray™ disc, and/or other recording medium.
An optional display interface 630 may permit information from the bus 600 to be displayed on the display 635 in audio, visual, graphic or alphanumeric format. Communication with external devices, such as a printing device, may occur using various communication ports 640. A communication port 640 may be attached to a communications network, such as the Internet or an intranet.
The hardware may also include an interface 645 which allows for receipt of data from input devices such as a keyboard 650 or other input device 655 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 various of the 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.
This application claims priority to U.S. Patent Application 61/809,950, filed on Apr. 9, 2013, the entirety of which is included herein by reference.
Number | Date | Country | |
---|---|---|---|
61809950 | Apr 2013 | US |