CA2446664C - Planning and scheduling reconfigurable systems around off-line resources - Google Patents
Planning and scheduling reconfigurable systems around off-line resources Download PDFInfo
- Publication number
- CA2446664C CA2446664C CA2446664A CA2446664A CA2446664C CA 2446664 C CA2446664 C CA 2446664C CA 2446664 A CA2446664 A CA 2446664A CA 2446664 A CA2446664 A CA 2446664A CA 2446664 C CA2446664 C CA 2446664C
- Authority
- CA
- Canada
- Prior art keywords
- work
- capabilities
- modules
- planning
- scheduling
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/10—Office automation; Time management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/06—Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
- G06Q10/063—Operations research, analysis or management
- G06Q10/0631—Resource planning, allocation, distributing or scheduling for enterprises or organisations
- G06Q10/06314—Calendaring for a resource
-
- Y—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
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02P—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
- Y02P90/00—Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
- Y02P90/02—Total factory control, e.g. smart factories, flexible manufacturing systems [FMS] or integrated manufacturing systems [IMS]
Abstract
A system is provided to allow for planning and scheduling the work flow for reconfigurable production systems having a plurality of modules, which may have alternative capabilities. The system includes a system controller, at least one planning function for planning the production of work units without utilizing off line modules, and at least one scheduling function for scheduling the production of work units without utilizing off line modules.
Description
r AROUND OFF-LINE RESOURCES
BACKGROUND OF THE INVENTION
This invention relates generally to a system and method for planning and scheduling work flow and processes for reconfigurable production operations and equipment, which requires continued system operation around off-line resources.
Reconfigurable production systems increasingly consist of multiple parallel, alternative modules that are connected through flexible paths and even loops.
Consequently, such systems are expected to offer a multitude of alternative operations (or capabilities) to produce the same outputs. For example, a modular printing system may consist of several identical, parallel printers connected through flexible paper paths that feed to and collect from these printers. For previous, in-line systems with few alternative capabilities, the entire system was usually stopped when one of its modules went off-line, perhaps when a fault occurred, except for specific modules, such as feeder modules in printing systems. With the types of parallel systems described above, it is desirable to continue using all available system capabilities by planning and scheduling around the off-line module as necessary.
A reconfigurable production system may be modeled as a graph of connected modules, with each module described by a model of its structure and its capabilities. The structure is primarily the interface through with work units enter and exit, such as entry and exit ports, plus any internally used resources. A capability is an operation that accepts work units at entry ports, processes them, and moves them to exit ports. (Entry and exit ports here refer to mechanical interfaces, such as slots or trays, as well as computer interfaces. A port may serve as both entry and exit port.) Operation of such a system has been modeled as a sequence of capability executions as work units move along valid paths in the graph from module to module.
An example for a reconfigurable production system is a modular printer, with modules such as feeders, mark engines, paper transports, inverters, etc.
There, the work units are sheets and images. A simple paper transport module has an entry port, an exit port, and a single capability, to move a sheet of paper from its entry port to its exit port.
An inverter module has one entry port, one exit port, and two capabilities, one to invert a sheet of paper and one to bypass the inversion mechanism. A mark engine transfer module has two entry ports (one for sheets and one for images), one exit port (for marked sheets), and one capability, to print the image onto the sheet. A sample resource in all of these modules is the space occupied by the sheet, which may only be occupied by one sheet at a time. Other examples of reconfigurable production systems are assembly lines, for example for the assembly or packing of computer parts, and automated analytic systems, such as blood sample analysis machines. In these various production systems, work units may be sheets of paper, electronic files, computer parts, semiconductor wafers, blood sample trays, any parts or composites of these, or other physical or
BACKGROUND OF THE INVENTION
This invention relates generally to a system and method for planning and scheduling work flow and processes for reconfigurable production operations and equipment, which requires continued system operation around off-line resources.
Reconfigurable production systems increasingly consist of multiple parallel, alternative modules that are connected through flexible paths and even loops.
Consequently, such systems are expected to offer a multitude of alternative operations (or capabilities) to produce the same outputs. For example, a modular printing system may consist of several identical, parallel printers connected through flexible paper paths that feed to and collect from these printers. For previous, in-line systems with few alternative capabilities, the entire system was usually stopped when one of its modules went off-line, perhaps when a fault occurred, except for specific modules, such as feeder modules in printing systems. With the types of parallel systems described above, it is desirable to continue using all available system capabilities by planning and scheduling around the off-line module as necessary.
A reconfigurable production system may be modeled as a graph of connected modules, with each module described by a model of its structure and its capabilities. The structure is primarily the interface through with work units enter and exit, such as entry and exit ports, plus any internally used resources. A capability is an operation that accepts work units at entry ports, processes them, and moves them to exit ports. (Entry and exit ports here refer to mechanical interfaces, such as slots or trays, as well as computer interfaces. A port may serve as both entry and exit port.) Operation of such a system has been modeled as a sequence of capability executions as work units move along valid paths in the graph from module to module.
An example for a reconfigurable production system is a modular printer, with modules such as feeders, mark engines, paper transports, inverters, etc.
There, the work units are sheets and images. A simple paper transport module has an entry port, an exit port, and a single capability, to move a sheet of paper from its entry port to its exit port.
An inverter module has one entry port, one exit port, and two capabilities, one to invert a sheet of paper and one to bypass the inversion mechanism. A mark engine transfer module has two entry ports (one for sheets and one for images), one exit port (for marked sheets), and one capability, to print the image onto the sheet. A sample resource in all of these modules is the space occupied by the sheet, which may only be occupied by one sheet at a time. Other examples of reconfigurable production systems are assembly lines, for example for the assembly or packing of computer parts, and automated analytic systems, such as blood sample analysis machines. In these various production systems, work units may be sheets of paper, electronic files, computer parts, semiconductor wafers, blood sample trays, any parts or composites of these, or other physical or
2 *4.
electronic objects being processed by production systems. Transport mechanisms may be conveyor belts or robotic arms or any other devices or functions for moving work units.
Module capabilities may be composed to system capabilities by incrementally unifying work unit and time variables of output and input events at connected modules along valid paths in the system graph. For example, if a module's exit port is connected to another module's entry port, any capability producing work units for the first module's exit port potentially can be composed with any capability consuming work units from the second module's entry port. Unification of work unit and time variables ensures the consistency of attribute and time constraints.
A scheduler for such systems receives a stream of jobs, each consisting of a sequence of desired work units to be produced at some final exit port of the system. Each desired work unit is described by a work unit variable with attribute constraints. This is used to select a suitable system capability that can produce the desired work unit by unifying the desired work unit variable with the work unit variables of system capabilities producing work units for the desired exit port. As system capabilities for the desired work units in the jobs are found, their time and resource constraints are posted to the constraint store, and the constraints are solved in order to find time values for the various module capabilities producing the desired work units. The selected module capabilities plus the time values are then sent to the modules so that they can execute the corresponding operations at the designated times.
This approach as implemented for traditional, in-line systems with few alternative capabilities assumes that typically the entire system is stopped when one of its modules goes off-line because of a fault. With the above approach, a special check is added before capability selection to use only entry and exit ports, feed trays and finishers that are available.
This approach proves unsatisfactory for systems with many alternative, parallel system capabilities. With these systems, it is desirable to continue using all available system capabilities by planning and scheduling around an off-line module as necessary.
Furthermore, this should be enabled for all modules and even partial modules, for example, only one of several alternative paths in a module, not just for modules at the periphery of the system.
electronic objects being processed by production systems. Transport mechanisms may be conveyor belts or robotic arms or any other devices or functions for moving work units.
Module capabilities may be composed to system capabilities by incrementally unifying work unit and time variables of output and input events at connected modules along valid paths in the system graph. For example, if a module's exit port is connected to another module's entry port, any capability producing work units for the first module's exit port potentially can be composed with any capability consuming work units from the second module's entry port. Unification of work unit and time variables ensures the consistency of attribute and time constraints.
A scheduler for such systems receives a stream of jobs, each consisting of a sequence of desired work units to be produced at some final exit port of the system. Each desired work unit is described by a work unit variable with attribute constraints. This is used to select a suitable system capability that can produce the desired work unit by unifying the desired work unit variable with the work unit variables of system capabilities producing work units for the desired exit port. As system capabilities for the desired work units in the jobs are found, their time and resource constraints are posted to the constraint store, and the constraints are solved in order to find time values for the various module capabilities producing the desired work units. The selected module capabilities plus the time values are then sent to the modules so that they can execute the corresponding operations at the designated times.
This approach as implemented for traditional, in-line systems with few alternative capabilities assumes that typically the entire system is stopped when one of its modules goes off-line because of a fault. With the above approach, a special check is added before capability selection to use only entry and exit ports, feed trays and finishers that are available.
This approach proves unsatisfactory for systems with many alternative, parallel system capabilities. With these systems, it is desirable to continue using all available system capabilities by planning and scheduling around an off-line module as necessary.
Furthermore, this should be enabled for all modules and even partial modules, for example, only one of several alternative paths in a module, not just for modules at the periphery of the system.
3 =
SUMMARY OF THE INVENTION
Briefly stated, and in accordance with one aspect of the present invention, there is provided a computer controlled system for planning and scheduling the work flow for reconfigurable production systems having a plurality of modules with a plurality of alternative capabilities, the system comprising:
a system controller;
at least one planning function for planning the production of work units without utilizing off-line modules, the planning function comprising means for determining that a work unit is to be removed from consideration if capabilities of one or more off-line modules are needed for the work unit; and at least one scheduling function for scheduling the production of work units without utilizing off-line modules, wherein the system controller marks work units removed from consideration and reconsiders the marked work units when the off-line modules become available.
In accordance with another aspect of the present invention, there is provided a method for planning and scheduling the work flow for computer controlled reconfigurable production systems having a plurality of modules with a plurality of alternative capabilities, comprising:
planning the work flow for at least one reconfigurable production system, without utilizing off-line modules, including determining a work unit is to be removed from consideration if capabilities of one or more off-line modules are needed for the work unit; and scheduling the work flow for the plurality of modules in the reconfigurable production system, without utilizing off-line modules;
marking work units removed from consideration; and reconsidering the marked work units once the off-line modules become available.
In accordance with another aspect of the present invention, there is provided an article of manufacture comprising a computer usable medium having computer readable program code embodied in said medium which, when said program code is executed by said computer causes said computer to perform method steps for planning and scheduling computer controlled reconfigurable production systems, said method comprising:
SUMMARY OF THE INVENTION
Briefly stated, and in accordance with one aspect of the present invention, there is provided a computer controlled system for planning and scheduling the work flow for reconfigurable production systems having a plurality of modules with a plurality of alternative capabilities, the system comprising:
a system controller;
at least one planning function for planning the production of work units without utilizing off-line modules, the planning function comprising means for determining that a work unit is to be removed from consideration if capabilities of one or more off-line modules are needed for the work unit; and at least one scheduling function for scheduling the production of work units without utilizing off-line modules, wherein the system controller marks work units removed from consideration and reconsiders the marked work units when the off-line modules become available.
In accordance with another aspect of the present invention, there is provided a method for planning and scheduling the work flow for computer controlled reconfigurable production systems having a plurality of modules with a plurality of alternative capabilities, comprising:
planning the work flow for at least one reconfigurable production system, without utilizing off-line modules, including determining a work unit is to be removed from consideration if capabilities of one or more off-line modules are needed for the work unit; and scheduling the work flow for the plurality of modules in the reconfigurable production system, without utilizing off-line modules;
marking work units removed from consideration; and reconsidering the marked work units once the off-line modules become available.
In accordance with another aspect of the present invention, there is provided an article of manufacture comprising a computer usable medium having computer readable program code embodied in said medium which, when said program code is executed by said computer causes said computer to perform method steps for planning and scheduling computer controlled reconfigurable production systems, said method comprising:
4 planning the work flow for at least one reconfigurable production system without utilizing off-line modules, including determining that a work unit is to be removed from consideration if capabilities of one or more off-line modules are needed for the work unit;
scheduling the work flow for the plurality of modules in the reconfigurable production system without utilizing off-line modules;
marking work units removed from consideration; and reconsidering the marked work units once the off-line modules become available.
In accordance with another aspect of the present invention, there is provided a computer controlled system for planning and scheduling the work flow for a reconfigurable production system, the computer controlled system comprising:
a plurality of modules, the reconfigurable production system comprising the plurality of modules, the plurality of modules having a plurality of alternative capabilities, the work flow comprising one or more jobs to be performed on the reconfigurable production system, each job comprising one or more work units to be produced on the reconfigurable production system;
a system controller;
a computer-readable memory that stores computer-executable instructions for execution by the system controller, the computer--readable instructions comprising instructions for:
planning the production of work units of the one or more jobs without utilizing off-line modules, the planning comprising:
selecting one or more work units to be planned, determining one or more system capabilities to produce the one or more work units, such that the off-line modules are not utilized, determining whether the system capabilities to produce the one or more work units are available without utilizing the off-line modules, and if the system capabilities to produce a work unit are not available without utilizing the off-line modules, 4a prior to the work unit reaching the off-line modules, tagging, by the system controller, the work unit with the system capabilities needed for the work unit which are not available, prior to the work unit reaching the off-line modules, removing, by the system controller, the work unit and all subsequent work units of the same job from consideration, and reinserting, by the system controller, the work unit and all subsequent work units when the system capabilities needed by the work unit become available, and scheduling the production of the one or more work units without utilizing the off-line modules, wherein the off-line modules are modules of the reconfigurable production system that are temporarily unavailable to produce work units, the reconfigurable production system continues to produce work units while the work unit is removed from consideration, and the work units of each job are produced in order, wherein the system capabilities are operations that accept the work unit at an entry port, process the work unit, and move the work unit to an exit port.
In accordance with another aspect of the present invention, there is provided a method for planning and scheduling the work flow for a computer controlled reconfigurable production system having a plurality of modules with a plurality of alternative capabilities, the work flow comprising one or more jobs for production on the reconfigurable production system, each job comprising one or more work units to be produced on the reconfigurable production system, the method comprising:
planning the work flow for the reconfigurable production system, without utilizing off-line modules, the planning the work flow comprising:
acquiring a description of one or more work units of the one or more jobs to be produced, selecting at least one of the work units to be planned, determining the capabilities needed to produce the at least one of the work units without utilizing the off-line modules, determining whether the capabilities needed to produce the at least one of the work units without utilizing the off-line modules are available, and 4b if the capabilities to produce a work unit are not available without utilizing the off-line modules;
prior to the work unit reaching the off-line modules, tagging, by the reconfigurable production system, the work unit with the capabilities needed for the work unit which are not available, prior to the work unit reaching the off-line modules, removing, by the reconfigurable production system, the work unit and all subsequent work units of the same job from consideration; and reinserting, by the reconfigurable production system, the work unit and all subsequent work units when the capabilities needed by the work unit become available, and scheduling the work flow for the plurality of modules in the reconfigurable production system, without utilizing the off-line modules, wherein the off-line modules are modules of the reconfigurable production system that are temporarily unavailable to produce work units, the reconfigurable production system continues to produce work units while the work unit is removed from consideration, and the work units of each job are produced in order, wherein the system capabilities are operations that accept the work unit at an entry port, process the work unit, and move the work unit to an exit port.
In accordance with another aspect of the present invention, there is provided an article of manufacture comprising a computer-readable recording medium having computer readable program code embodied in the medium which, when the program code is executed by a computer causes the computer to perform a method for planning and scheduling for a computer controlled reconfigurable production system, the method comprising:
planning the work flow for the reconfigurable production system without utilizing off-line modules, the work flow comprising one or more jobs for production on the reconfigurable production system, each job comprising one or more work units to be produced on the reconfigurable production system, wherein the planning the work flow comprises:
4c acquiring a description of one or more work units of the one or more jobs to be produced, selecting at least one of the work units to be planned, determining the capabilities needed to produce the at least one of the work units without utilizing the off-line modules, determining whether the capabilities needed to produce the at least one of the work units without utilizing the off-line modules are available, if a work unit cannot be produced without utilizing the off-line modules, prior to the work unit reaching the off-line modules, tagging, by the reconfigurable production system, the work unit with the capabilities needed for the work unit which are not available, prior to the work unit reaching the off-line modules, removing, by the reconfigurable production system, the work unit and all subsequent work units of the same job from further consideration, and reinserting, by the reconfigurable production system, the work unit and all subsequent work units when the capabilities needed by the work unit become available, modifying one or more of timing, interval, and precedence constraints using selection variables, posting one or more selection variable constraints on selection variables and common modules to a memory, posting the timing, interval, and precedence constraints to the memory; and scheduling the work flow for the plurality of modules in the reconfigurable production system without utilizing the off-line modules, wherein the off-line modules are modules of the reconfigurable production system that are temporarily unavailable to produce work units, the reconfigurable production system continues to produce work units while the work unit is removed from consideration, and the work units of each job are produced in order, wherein the system capabilities are operations that accept the work unit at an entry port, process the work unit, and move the work unit to an exit port.
4d BRIEF DESCRIPTION OF THE DRAWINGS
The foregoing and other features of the instant invention will be apparent and easily understood from a further reading of the specification, claims and by reference to the accompanying drawings in which:
to the accompanying drawings in which:
4e FIG. 1 illustrates a controller in accordance with one embodiment of the subject invention;
FIG. 2 provides a flow chart detailing the ordering of operations to accomplish system planning and scheduling in accordance with one embodiment of the subject invention;
FIG. 3 provides a flow chart detailing the operation of the system planning component in accordance with one embodiment of the subject invention; and FIG. 4 provides a flow chart detailing the operation of the system scheduling component in accordance with one embodiment of the subject invention.
DETAILED DESCRIPTION OF THE INVENTION
Disclosed herein is a method and system for planning and scheduling functions within a system controller, in which the controller provides for continued use of all available system capabilities by planning and scheduling around an off-line module as necessary. Furthermore, the method and system enables this functionality for all modules, even partial modules, rather than only for modules at the periphery of the system. In the following description numerous specific details are set forth in order to provide a thorough understanding of the present invention. It would be apparent, however, to one skilled in the art to practice the invention without such specific details.
In other instances, specific implementation details have not been shown in detail in order not to unnecessarily obscure the present invention.
Turning now to the drawings, wherein the purpose is for illustrating the embodiments of the system and method, and not for limiting the same, Figure 1 illustrates a controller for integrating planning and scheduling functions in conformance with one embodiment of the subject system. In a system 100, system controller 110 receives descriptions of work units to be produced from any known type of job input source.
These descriptions correspond to descriptions of the desired output products.
They may specify attributes (or properties) of the products, values or ranges or general constraints for these attributes, and possibly constraints on the timing of the production (e.g., deadlines), but generally without specifying how the products are to be produced.
System controller 110 also receives, along paths 130, capability models from each module 120 in the system. The capability models are descriptions of how the modules move and transform work units, generally together with information about the attributes and timing of the work units. Models may be sent to the system controller only once when the production system is started up, or the models may be updated regularly or when changes occur. Such changes in the modules (and therefore in the models) may, for example, be the reconfiguration of the modules, changes in timing values, and the unavailability of resources (and thus some capabilities). The capability models include, for example, timing constraints (e.g., the duration of execution of a capability, the time during which a resource is occupied, or the reservation of a resource), feature constraints (e.g., limits on the size of the work units being processed, transformation of the work units such as changing the orientation of a part or adding two parts together), and commands (e.g., the names or identifications of the operations corresponding to the capabilities, together with times and possibly other information). The timing and feature constraints describe when and how a capability can be applied to a work unit.
The commands are the commands that are sent to the modules in order to start the corresponding operations.
Modules 120 may encompass many varying types of production systems, for example machine modules of a print engine, such as a feeder module, mark engine module, finisher module, or transport module. Alternatively, modules 120 may include the analysis modules of a biotech screening system, which may comprise a preparation module, heating module, mixing module, analysis module, or transport robot.
Manufacturing line modules may include a machining module, assembling module, testing module, transport robot, or packaging module. A packaging line may include a bottle filling module or a labeling module. System controller 110 considers all possible system capabilities when searching for schedules for the desired work units.
Planning and scheduling some or all of the desired work units of one or more jobs results in a set of selected and scheduled capabilities. With these available, the system controller 110 sends the instruction commands corresponding to the scheduled capabilities to modules 120 along paths 140. Each of the modules then performs its task sequence for the completion of the specified job. As can be seen in path 150, which illustrates the path of the work units being processed, work may cycle repeatedly within a particular module 120 before moving to the next module in succession, or work may cycle repeatedly among several modules before passing to a third module.
Although only three modules 120 are illustrated for the purposes herein, it will be understood that a system may include numerous modules, depending on the complexity of the job requirements. Additionally there is also capability for operator feedback as to the work being scheduled on the modules and the state of the system at any point in time.
Figure 2 illustrates the planning and scheduling method of operation for the system controller. In this diagram, method steps are described in terms of data received and provided to each subsequent step in the process. Each of the steps 230, 240, 250, and 260 in this process may be executed in sequence (one after the other) or concurrently. In either case, each step consumes data 225, 235, 245, or 255 provided by a previous step and produces data 235, 245, 255, or 265 for the subsequent step. Consuming and producing this data is generally done incrementally, where a step is processing one data item after another, but may also be done in batches, as will be obvious to one skilled in the art of real-time software. Initially, a description of the work units 225, or job to be performed, is provided to the controller. The controller also has the models of the system modules available together with the current state of the system, e.g., which operations are currently performed by the modules, and any capabilities it may have previously planned and scheduled. The controller determines the work units to be planned and scheduled at step 230, based on the capability models provided by each module to be controlled and directed. This is an iterative step in which the controller incrementally reviews the jobs and their work units to select those work units to be planned and scheduled for the job next The selected work units 235 are then transmitted to step 240, which plans the capabilities for the selected work units, taking into consideration the capability model for each module. This step is repeated for each work unit selected in the previous step, _________________________________________________ =+.1.01¶ __ ==.=
resulting in a set of planned capabilities 245 . With planned capabilities 245 and the module capability models, the controller at step 250 schedules the selected capabilities and provides a set of scheduled capabilities 255. These are in turn provided to step 260, at which the controller sends the commands 265 corresponding to the scheduled capabilities to the individual modules. This step is repeated for each scheduled capability. As can be seen in Figure 2, each of steps 230, 240, 250 and 260 has all model information available for selective usage during each step. For example step 240 may access feature constraints, step 250 may utilize timing constraints, and step 260 may utilize commands.
In Figure 3, a flow chart illustrates the planning function 300 of the controller. A
work unit or job to be planned is selected at step 310 based on the input job description.
The controller then determines the capabilities needed to produce the work unit without utilizing off-line resources at step 320. An off-line resource is any module or partial module that is currently unavailable, e.g., because it is powered down or broken. In making this determination at step 320, the controller considers all possible system capabilities, excluding the capabilities of the off-line resource(s), from which alternative capabilities are selected. The controller determines if capabilities are available to produce the work unit at step 330. If sufficient capabilities are not available, subsequent work units of the same job are temporarily removed from consideration at step 340 and the controller returns to step 310 to select another work unit to be planned.
The capabilities of the off-line resource cannot be selected. If no capability remains available for a desired work unit, all subsequent work units of the same job will be delayed, even if they could be produced, in order to avoid out-of-order output delivery.
Work units which have been temporarily removed from consideration for planning and scheduling because of off-line resources are automatically re-considered in step 310 on subsequent iterations and will be delayed again if the required resources are still off-line. Alternatively, the work units can be marked by the resources they need and will be re-inserted in the set of work units to be planned and scheduled when those resources become available. In either case, the work units will be re-considered for planning and scheduling as soon as capabilities to process them will be available.
- ___________________________________ If sufficient capabilities for producing the work unit are available, timing constraints, such as the amount of time required for each task within a job (e.g., the duration of a transport operation or a processing step), constraints on the intervals during which resources are occupied, and the reservation of resources during such intervals are modified by selection variables and posted to the controller at step 350.
Selection variables are Boolean variables, one for each capability, that become either TRUE (the capability is selected) or FALSE (the capability is not selected). Selection variables are created automatically for each capability by the planning step.
Constraints on the selection variables determine that, for example, only one of several alternative capabilities for the same output can be selected (i.e., only its selection variables can be TRUE). The modification of constraints is constraint-type-dependent.
Allocation intervals in resource allocations, for example, are multiplied by the selection variables. The effect of these constraint modifications is that some constraints, such as a resource allocation, become only effective if the corresponding capability is being selected. The controller then posts to memory constraints on selection variables and common modules to the constraint store at step 360. At step 370 real-time constraints and order constraints are posted to the controller.
Since the correct output time must be used in the precedence constraints between capabilities of succeeding work units, the output variables of all alternative capabilities are connected to a single time variable, which is then used in the precedence constraints.
The job constraints reserve resources for a job and all possible exit ports of capabilities being considered for work units in the job. If only part of a job is being scheduled at this point, the selected resource is reserved for the open-ended future, and otherwise for the duration of the job. This also ensures that jobs will be delivered correctly even if parts of them have not yet been produced due to off-line resources. The sequence of steps presented is only one example embodiment for the method disclosed herein. It will be apparent to one skilled in the art that numerous alternate step sequences would produce a similar result.
Turning now to Figure 4, a flow chart illustrates the scheduling function 400 of the controller. Initially, the controller selects those capabilities to be scheduled, which may be all or a subset of the capabilities provided by the planning step. The controller then reserves exit resources for planned capabilities within the same jobs at step 420.
Since all work units of the same job are constrained to be delivered to the same final exit port, the resource connected to that same final exit port, corresponding for example to a finisher stack in a print engine, cannot be used by other jobs until the job is finished. At step 430 the controller then solves for timing and selection variables of planned capabilities. This can be accomplished using a number of constraint solving or constrained optimization techniques, which are known to those skilled in the art.
One possible embodiment of a command set to illustrate the method disclosed herein is as follows:
initialize schedule S and constraint store C;
repeat forever do determine sequence U of desired work units u at allowed exit ports Pt, to be considered for scheduling next;
for all work units u in U do determine set Su of capabilities s such that u = output work unit of s and exit port of s is in Pi, and s does not use off-line resources;
if Su is empty then remove subsequent work units in same job from U;
else add Su to S;
post to C: timing constraints of si in Su, with selection variables b, added;
post to C: 1 = sum (si in Su) bi;
post to C: real-time constraints for si in Su;
for all si in Su, post to C: exit port of si = exit port of job of u; end for post to C: 43= sum (si in Su) bit times output time of si;
post to C: order constraint for to;
end if end for solve for the undetermined time variables and selection variables in C;
send commands to modules based on selected capabilities (b1=1) in S and determined time variables in C;
clean up completed parts of S and C;
end repeat However, it must be borne in mind that this sequence provides only one possible command set. One skilled in the art would readily appreciate that individual instructions could be varied in form and that the sequence in which steps are performed could vary, all of which embodiments are contemplated by the disclosure and scope of the claims herein.
This approach of integrated planning and scheduling eliminates the need for a separate, heuristics-based planning algorithm and leads to improved load balancing and productivity over previous approaches. Additionally, the system and method described herein is configuration-independent and thus easily reused for arbitrary reconfigurable production systems that can be modeled in this framework.
While the present invention has been illustrated and described with reference to specific embodiments, further modification and improvements will occur to those skilled in the art. For example, the steps for the planning and scheduling method disclosed herein are not required to be performed in a specified sequence, as will be apparent to one skilled in the art. Indeed, some steps may be executed concurrently with other steps.
Also, constraints may be represented numerous different variations.
Additionally, "code"
as used herein, or "program" as used herein, is any plurality of binary values or any executable, interpreted or compiled code which can be used by a computer or execution device to perform a task. This code or program can be written in any one of several known computer languages. A "computer", as used herein, can mean any device which stores, processes, routes, manipulates, or performs like operation on data. It is to be understood, therefore, that this invention is not limited to the particular forms illustrated and that it is intended in the appended claims to embrace all alternatives, modifications, and variations which do not depart from the spirit and scope of this invention.
scheduling the work flow for the plurality of modules in the reconfigurable production system without utilizing off-line modules;
marking work units removed from consideration; and reconsidering the marked work units once the off-line modules become available.
In accordance with another aspect of the present invention, there is provided a computer controlled system for planning and scheduling the work flow for a reconfigurable production system, the computer controlled system comprising:
a plurality of modules, the reconfigurable production system comprising the plurality of modules, the plurality of modules having a plurality of alternative capabilities, the work flow comprising one or more jobs to be performed on the reconfigurable production system, each job comprising one or more work units to be produced on the reconfigurable production system;
a system controller;
a computer-readable memory that stores computer-executable instructions for execution by the system controller, the computer--readable instructions comprising instructions for:
planning the production of work units of the one or more jobs without utilizing off-line modules, the planning comprising:
selecting one or more work units to be planned, determining one or more system capabilities to produce the one or more work units, such that the off-line modules are not utilized, determining whether the system capabilities to produce the one or more work units are available without utilizing the off-line modules, and if the system capabilities to produce a work unit are not available without utilizing the off-line modules, 4a prior to the work unit reaching the off-line modules, tagging, by the system controller, the work unit with the system capabilities needed for the work unit which are not available, prior to the work unit reaching the off-line modules, removing, by the system controller, the work unit and all subsequent work units of the same job from consideration, and reinserting, by the system controller, the work unit and all subsequent work units when the system capabilities needed by the work unit become available, and scheduling the production of the one or more work units without utilizing the off-line modules, wherein the off-line modules are modules of the reconfigurable production system that are temporarily unavailable to produce work units, the reconfigurable production system continues to produce work units while the work unit is removed from consideration, and the work units of each job are produced in order, wherein the system capabilities are operations that accept the work unit at an entry port, process the work unit, and move the work unit to an exit port.
In accordance with another aspect of the present invention, there is provided a method for planning and scheduling the work flow for a computer controlled reconfigurable production system having a plurality of modules with a plurality of alternative capabilities, the work flow comprising one or more jobs for production on the reconfigurable production system, each job comprising one or more work units to be produced on the reconfigurable production system, the method comprising:
planning the work flow for the reconfigurable production system, without utilizing off-line modules, the planning the work flow comprising:
acquiring a description of one or more work units of the one or more jobs to be produced, selecting at least one of the work units to be planned, determining the capabilities needed to produce the at least one of the work units without utilizing the off-line modules, determining whether the capabilities needed to produce the at least one of the work units without utilizing the off-line modules are available, and 4b if the capabilities to produce a work unit are not available without utilizing the off-line modules;
prior to the work unit reaching the off-line modules, tagging, by the reconfigurable production system, the work unit with the capabilities needed for the work unit which are not available, prior to the work unit reaching the off-line modules, removing, by the reconfigurable production system, the work unit and all subsequent work units of the same job from consideration; and reinserting, by the reconfigurable production system, the work unit and all subsequent work units when the capabilities needed by the work unit become available, and scheduling the work flow for the plurality of modules in the reconfigurable production system, without utilizing the off-line modules, wherein the off-line modules are modules of the reconfigurable production system that are temporarily unavailable to produce work units, the reconfigurable production system continues to produce work units while the work unit is removed from consideration, and the work units of each job are produced in order, wherein the system capabilities are operations that accept the work unit at an entry port, process the work unit, and move the work unit to an exit port.
In accordance with another aspect of the present invention, there is provided an article of manufacture comprising a computer-readable recording medium having computer readable program code embodied in the medium which, when the program code is executed by a computer causes the computer to perform a method for planning and scheduling for a computer controlled reconfigurable production system, the method comprising:
planning the work flow for the reconfigurable production system without utilizing off-line modules, the work flow comprising one or more jobs for production on the reconfigurable production system, each job comprising one or more work units to be produced on the reconfigurable production system, wherein the planning the work flow comprises:
4c acquiring a description of one or more work units of the one or more jobs to be produced, selecting at least one of the work units to be planned, determining the capabilities needed to produce the at least one of the work units without utilizing the off-line modules, determining whether the capabilities needed to produce the at least one of the work units without utilizing the off-line modules are available, if a work unit cannot be produced without utilizing the off-line modules, prior to the work unit reaching the off-line modules, tagging, by the reconfigurable production system, the work unit with the capabilities needed for the work unit which are not available, prior to the work unit reaching the off-line modules, removing, by the reconfigurable production system, the work unit and all subsequent work units of the same job from further consideration, and reinserting, by the reconfigurable production system, the work unit and all subsequent work units when the capabilities needed by the work unit become available, modifying one or more of timing, interval, and precedence constraints using selection variables, posting one or more selection variable constraints on selection variables and common modules to a memory, posting the timing, interval, and precedence constraints to the memory; and scheduling the work flow for the plurality of modules in the reconfigurable production system without utilizing the off-line modules, wherein the off-line modules are modules of the reconfigurable production system that are temporarily unavailable to produce work units, the reconfigurable production system continues to produce work units while the work unit is removed from consideration, and the work units of each job are produced in order, wherein the system capabilities are operations that accept the work unit at an entry port, process the work unit, and move the work unit to an exit port.
4d BRIEF DESCRIPTION OF THE DRAWINGS
The foregoing and other features of the instant invention will be apparent and easily understood from a further reading of the specification, claims and by reference to the accompanying drawings in which:
to the accompanying drawings in which:
4e FIG. 1 illustrates a controller in accordance with one embodiment of the subject invention;
FIG. 2 provides a flow chart detailing the ordering of operations to accomplish system planning and scheduling in accordance with one embodiment of the subject invention;
FIG. 3 provides a flow chart detailing the operation of the system planning component in accordance with one embodiment of the subject invention; and FIG. 4 provides a flow chart detailing the operation of the system scheduling component in accordance with one embodiment of the subject invention.
DETAILED DESCRIPTION OF THE INVENTION
Disclosed herein is a method and system for planning and scheduling functions within a system controller, in which the controller provides for continued use of all available system capabilities by planning and scheduling around an off-line module as necessary. Furthermore, the method and system enables this functionality for all modules, even partial modules, rather than only for modules at the periphery of the system. In the following description numerous specific details are set forth in order to provide a thorough understanding of the present invention. It would be apparent, however, to one skilled in the art to practice the invention without such specific details.
In other instances, specific implementation details have not been shown in detail in order not to unnecessarily obscure the present invention.
Turning now to the drawings, wherein the purpose is for illustrating the embodiments of the system and method, and not for limiting the same, Figure 1 illustrates a controller for integrating planning and scheduling functions in conformance with one embodiment of the subject system. In a system 100, system controller 110 receives descriptions of work units to be produced from any known type of job input source.
These descriptions correspond to descriptions of the desired output products.
They may specify attributes (or properties) of the products, values or ranges or general constraints for these attributes, and possibly constraints on the timing of the production (e.g., deadlines), but generally without specifying how the products are to be produced.
System controller 110 also receives, along paths 130, capability models from each module 120 in the system. The capability models are descriptions of how the modules move and transform work units, generally together with information about the attributes and timing of the work units. Models may be sent to the system controller only once when the production system is started up, or the models may be updated regularly or when changes occur. Such changes in the modules (and therefore in the models) may, for example, be the reconfiguration of the modules, changes in timing values, and the unavailability of resources (and thus some capabilities). The capability models include, for example, timing constraints (e.g., the duration of execution of a capability, the time during which a resource is occupied, or the reservation of a resource), feature constraints (e.g., limits on the size of the work units being processed, transformation of the work units such as changing the orientation of a part or adding two parts together), and commands (e.g., the names or identifications of the operations corresponding to the capabilities, together with times and possibly other information). The timing and feature constraints describe when and how a capability can be applied to a work unit.
The commands are the commands that are sent to the modules in order to start the corresponding operations.
Modules 120 may encompass many varying types of production systems, for example machine modules of a print engine, such as a feeder module, mark engine module, finisher module, or transport module. Alternatively, modules 120 may include the analysis modules of a biotech screening system, which may comprise a preparation module, heating module, mixing module, analysis module, or transport robot.
Manufacturing line modules may include a machining module, assembling module, testing module, transport robot, or packaging module. A packaging line may include a bottle filling module or a labeling module. System controller 110 considers all possible system capabilities when searching for schedules for the desired work units.
Planning and scheduling some or all of the desired work units of one or more jobs results in a set of selected and scheduled capabilities. With these available, the system controller 110 sends the instruction commands corresponding to the scheduled capabilities to modules 120 along paths 140. Each of the modules then performs its task sequence for the completion of the specified job. As can be seen in path 150, which illustrates the path of the work units being processed, work may cycle repeatedly within a particular module 120 before moving to the next module in succession, or work may cycle repeatedly among several modules before passing to a third module.
Although only three modules 120 are illustrated for the purposes herein, it will be understood that a system may include numerous modules, depending on the complexity of the job requirements. Additionally there is also capability for operator feedback as to the work being scheduled on the modules and the state of the system at any point in time.
Figure 2 illustrates the planning and scheduling method of operation for the system controller. In this diagram, method steps are described in terms of data received and provided to each subsequent step in the process. Each of the steps 230, 240, 250, and 260 in this process may be executed in sequence (one after the other) or concurrently. In either case, each step consumes data 225, 235, 245, or 255 provided by a previous step and produces data 235, 245, 255, or 265 for the subsequent step. Consuming and producing this data is generally done incrementally, where a step is processing one data item after another, but may also be done in batches, as will be obvious to one skilled in the art of real-time software. Initially, a description of the work units 225, or job to be performed, is provided to the controller. The controller also has the models of the system modules available together with the current state of the system, e.g., which operations are currently performed by the modules, and any capabilities it may have previously planned and scheduled. The controller determines the work units to be planned and scheduled at step 230, based on the capability models provided by each module to be controlled and directed. This is an iterative step in which the controller incrementally reviews the jobs and their work units to select those work units to be planned and scheduled for the job next The selected work units 235 are then transmitted to step 240, which plans the capabilities for the selected work units, taking into consideration the capability model for each module. This step is repeated for each work unit selected in the previous step, _________________________________________________ =+.1.01¶ __ ==.=
resulting in a set of planned capabilities 245 . With planned capabilities 245 and the module capability models, the controller at step 250 schedules the selected capabilities and provides a set of scheduled capabilities 255. These are in turn provided to step 260, at which the controller sends the commands 265 corresponding to the scheduled capabilities to the individual modules. This step is repeated for each scheduled capability. As can be seen in Figure 2, each of steps 230, 240, 250 and 260 has all model information available for selective usage during each step. For example step 240 may access feature constraints, step 250 may utilize timing constraints, and step 260 may utilize commands.
In Figure 3, a flow chart illustrates the planning function 300 of the controller. A
work unit or job to be planned is selected at step 310 based on the input job description.
The controller then determines the capabilities needed to produce the work unit without utilizing off-line resources at step 320. An off-line resource is any module or partial module that is currently unavailable, e.g., because it is powered down or broken. In making this determination at step 320, the controller considers all possible system capabilities, excluding the capabilities of the off-line resource(s), from which alternative capabilities are selected. The controller determines if capabilities are available to produce the work unit at step 330. If sufficient capabilities are not available, subsequent work units of the same job are temporarily removed from consideration at step 340 and the controller returns to step 310 to select another work unit to be planned.
The capabilities of the off-line resource cannot be selected. If no capability remains available for a desired work unit, all subsequent work units of the same job will be delayed, even if they could be produced, in order to avoid out-of-order output delivery.
Work units which have been temporarily removed from consideration for planning and scheduling because of off-line resources are automatically re-considered in step 310 on subsequent iterations and will be delayed again if the required resources are still off-line. Alternatively, the work units can be marked by the resources they need and will be re-inserted in the set of work units to be planned and scheduled when those resources become available. In either case, the work units will be re-considered for planning and scheduling as soon as capabilities to process them will be available.
- ___________________________________ If sufficient capabilities for producing the work unit are available, timing constraints, such as the amount of time required for each task within a job (e.g., the duration of a transport operation or a processing step), constraints on the intervals during which resources are occupied, and the reservation of resources during such intervals are modified by selection variables and posted to the controller at step 350.
Selection variables are Boolean variables, one for each capability, that become either TRUE (the capability is selected) or FALSE (the capability is not selected). Selection variables are created automatically for each capability by the planning step.
Constraints on the selection variables determine that, for example, only one of several alternative capabilities for the same output can be selected (i.e., only its selection variables can be TRUE). The modification of constraints is constraint-type-dependent.
Allocation intervals in resource allocations, for example, are multiplied by the selection variables. The effect of these constraint modifications is that some constraints, such as a resource allocation, become only effective if the corresponding capability is being selected. The controller then posts to memory constraints on selection variables and common modules to the constraint store at step 360. At step 370 real-time constraints and order constraints are posted to the controller.
Since the correct output time must be used in the precedence constraints between capabilities of succeeding work units, the output variables of all alternative capabilities are connected to a single time variable, which is then used in the precedence constraints.
The job constraints reserve resources for a job and all possible exit ports of capabilities being considered for work units in the job. If only part of a job is being scheduled at this point, the selected resource is reserved for the open-ended future, and otherwise for the duration of the job. This also ensures that jobs will be delivered correctly even if parts of them have not yet been produced due to off-line resources. The sequence of steps presented is only one example embodiment for the method disclosed herein. It will be apparent to one skilled in the art that numerous alternate step sequences would produce a similar result.
Turning now to Figure 4, a flow chart illustrates the scheduling function 400 of the controller. Initially, the controller selects those capabilities to be scheduled, which may be all or a subset of the capabilities provided by the planning step. The controller then reserves exit resources for planned capabilities within the same jobs at step 420.
Since all work units of the same job are constrained to be delivered to the same final exit port, the resource connected to that same final exit port, corresponding for example to a finisher stack in a print engine, cannot be used by other jobs until the job is finished. At step 430 the controller then solves for timing and selection variables of planned capabilities. This can be accomplished using a number of constraint solving or constrained optimization techniques, which are known to those skilled in the art.
One possible embodiment of a command set to illustrate the method disclosed herein is as follows:
initialize schedule S and constraint store C;
repeat forever do determine sequence U of desired work units u at allowed exit ports Pt, to be considered for scheduling next;
for all work units u in U do determine set Su of capabilities s such that u = output work unit of s and exit port of s is in Pi, and s does not use off-line resources;
if Su is empty then remove subsequent work units in same job from U;
else add Su to S;
post to C: timing constraints of si in Su, with selection variables b, added;
post to C: 1 = sum (si in Su) bi;
post to C: real-time constraints for si in Su;
for all si in Su, post to C: exit port of si = exit port of job of u; end for post to C: 43= sum (si in Su) bit times output time of si;
post to C: order constraint for to;
end if end for solve for the undetermined time variables and selection variables in C;
send commands to modules based on selected capabilities (b1=1) in S and determined time variables in C;
clean up completed parts of S and C;
end repeat However, it must be borne in mind that this sequence provides only one possible command set. One skilled in the art would readily appreciate that individual instructions could be varied in form and that the sequence in which steps are performed could vary, all of which embodiments are contemplated by the disclosure and scope of the claims herein.
This approach of integrated planning and scheduling eliminates the need for a separate, heuristics-based planning algorithm and leads to improved load balancing and productivity over previous approaches. Additionally, the system and method described herein is configuration-independent and thus easily reused for arbitrary reconfigurable production systems that can be modeled in this framework.
While the present invention has been illustrated and described with reference to specific embodiments, further modification and improvements will occur to those skilled in the art. For example, the steps for the planning and scheduling method disclosed herein are not required to be performed in a specified sequence, as will be apparent to one skilled in the art. Indeed, some steps may be executed concurrently with other steps.
Also, constraints may be represented numerous different variations.
Additionally, "code"
as used herein, or "program" as used herein, is any plurality of binary values or any executable, interpreted or compiled code which can be used by a computer or execution device to perform a task. This code or program can be written in any one of several known computer languages. A "computer", as used herein, can mean any device which stores, processes, routes, manipulates, or performs like operation on data. It is to be understood, therefore, that this invention is not limited to the particular forms illustrated and that it is intended in the appended claims to embrace all alternatives, modifications, and variations which do not depart from the spirit and scope of this invention.
Claims (67)
1. A computer controlled system for planning and scheduling the work flow for reconfigurable production systems having a plurality of modules with a plurality of alternative capabilities, the system comprising:
a system controller;
at least one planning function for planning the production of work units without utilizing off-line modules, the planning function comprising means for determining that a work unit is to be removed from consideration if capabilities of one or more off-line modules are needed for the work unit; and at least one scheduling function for scheduling the production of work units without utilizing off-line modules, wherein the system controller marks work units removed from consideration and reconsiders the marked work units when the off-line modules become available.
a system controller;
at least one planning function for planning the production of work units without utilizing off-line modules, the planning function comprising means for determining that a work unit is to be removed from consideration if capabilities of one or more off-line modules are needed for the work unit; and at least one scheduling function for scheduling the production of work units without utilizing off-line modules, wherein the system controller marks work units removed from consideration and reconsiders the marked work units when the off-line modules become available.
2. The system for planning and scheduling the work flow for reconfigurable production systems according to claim 1, wherein said planning function comprises:
means for selecting at least one work unit to be planned;
means for determining capabilities to produce said work unit, such that off-line modules are not utilized;
means for modifying constraints using selection variables;
means for posting constraints on selection variables and common modules to memory;
means for posting timing and precedence constraints to memory; and means for reserving a selected resource if only part of a job is being scheduled.
means for selecting at least one work unit to be planned;
means for determining capabilities to produce said work unit, such that off-line modules are not utilized;
means for modifying constraints using selection variables;
means for posting constraints on selection variables and common modules to memory;
means for posting timing and precedence constraints to memory; and means for reserving a selected resource if only part of a job is being scheduled.
3. The system for planning and scheduling reconfigurable production systems according to claim 2, wherein selecting a work unit to be planned is based on an input job description.
4. The system for planning and scheduling reconfigurable production systems according to claim 2, wherein determining capabilities to produce said work unit further comprises specifying a desired exit port and itinerary.
5. The system for planning and scheduling reconfigurable production systems according to claim 2, wherein determining capabilities to produce said work unit further comprises reducing said capabilities to a segment desired for a diagnostic work unit.
6. The system for planning and scheduling reconfigurable production systems according to claim 4, further comprising means for selecting alternative capabilities from the reconfigurable production system modules.
7. The system for planning and scheduling reconfigurable production systems according to claim 2, wherein said selection variables are created automatically for each capability.
8. The system for planning and scheduling reconfigurable production systems according to claim 2, wherein said selection variables comprise Boolean variables.
9. The system for planning and scheduling reconfigurable production systems according to claim 2, wherein said modified constraints comprise timing constraints.
10. The system for planning and scheduling reconfigurable production systems according to claim 2, wherein said modified constraints comprise the reservation of resources during intervals in which reconfigurable production system modules are occupied.
11. The system for planning and scheduling reconfigurable production systems according to claim 2, wherein posting timing and precedence constraints comprises connecting variables of all alternative capabilities to a single time variable.
12. The system for planning and scheduling reconfigurable production systems according to claim 1, wherein said scheduling function comprises:
means for selecting capabilities to be scheduled;
means for reserving exit resources for planned capabilities; and means for solving for timing and selection variables.
means for selecting capabilities to be scheduled;
means for reserving exit resources for planned capabilities; and means for solving for timing and selection variables.
13. The system for planning and scheduling reconfigurable production systems according to claim 2, further comprising means for acquiring at least one capability model from at least one machine module.
14. The system for planning and scheduling reconfigurable production systems according to claim 13, wherein said machine module comprises a print engine module.
15. The system for planning and scheduling reconfigurable production systems according to claim 13, wherein said machine module comprises an analysis module.
16. The system for planning and scheduling reconfigurable production systems according to claim 13, wherein said machine module comprises a manufacturing line module.
17. The system for planning and scheduling reconfigurable production systems according to claim 13, wherein said machine module comprises a packaging line module.
18. A method for planning and scheduling the work flow for computer controlled reconfigurable production systems having a plurality of modules with a plurality of alternative capabilities, comprising:
planning the work flow for at least one reconfigurable production system, without utilizing off-line modules, including determining a work unit is to be removed from consideration if capabilities of one or more off-line modules are needed for the work unit; and scheduling the work flow for the plurality of modules in the reconfigurable production system, without utilizing off-line modules;
marking work units removed from consideration; and reconsidering the marked work units once the off-line modules become available.
planning the work flow for at least one reconfigurable production system, without utilizing off-line modules, including determining a work unit is to be removed from consideration if capabilities of one or more off-line modules are needed for the work unit; and scheduling the work flow for the plurality of modules in the reconfigurable production system, without utilizing off-line modules;
marking work units removed from consideration; and reconsidering the marked work units once the off-line modules become available.
19. A method for planning and scheduling the work flow for computer controlled reconfigurable production systems according to claim 18, wherein planning said work flow comprises:
acquiring a description of work units to be produced;
selecting at least one of said work units to be planned;
determining the capabilities needed to produce said work unit without utilizing off-line modules;
determining whether the capabilities needed to produce said work unit without utilizing off-line modules are available;
modifying constraints using selection variables;
posting constraints on selection variables and common modules to memory; and posting timing and precedence constraints to memory.
acquiring a description of work units to be produced;
selecting at least one of said work units to be planned;
determining the capabilities needed to produce said work unit without utilizing off-line modules;
determining whether the capabilities needed to produce said work unit without utilizing off-line modules are available;
modifying constraints using selection variables;
posting constraints on selection variables and common modules to memory; and posting timing and precedence constraints to memory.
20. A method for planning and scheduling the work flow for computer controlled reconfigurable production systems having a plurality of modules according to claim 19, wherein said work unit is removed from consideration if said capabilities to produce said work unit are not available without utilizing off-line resources.
21. A method for planning and scheduling the work flow for computer controlled reconfigurable production systems having a plurality of modules according to claim 19, wherein determining the capabilities needed to produce said work unit comprises selecting alternative capabilities from the reconfigurable production system modules capabilities.
22. A method for planning and scheduling the work flow for computer controlled reconfigurable production systems according to claim 19, wherein said modified constraints comprise timing constraints.
23. A method for planning and scheduling the work flow for computer controlled reconfigurable production systems according to claim 19, wherein said modified constraints comprise a reservation of resources during intervals in which reconfigurable production system modules are occupied.
24. A method for planning and scheduling the work flow for computer controlled reconfigurable production systems according to claim 19, wherein said selection variables are created automatically for each capability.
25. A method for planning and scheduling the work flow for computer controlled reconfigurable production systems according to claim 19, wherein said selection variables comprise Boolean variables.
26. A method for planning and scheduling the work flow for computer controlled reconfigurable production systems according to claim 19, wherein said precedence constraints comprise connecting output variables of all alternative capabilities to a single time variable.
27. A method for planning and scheduling the work flow for computer controlled reconfigurable production systems according to claim 19, further comprising reserving a selected resource if only part of a job is being scheduled.
28. A method for planning and scheduling the work flow for computer controlled reconfigurable production systems according to claim 18, wherein scheduling the work flow for the plurality of modules in the reconfigurable production system comprises:
selecting capabilities to be scheduled;
reserving exit resources for planned capabilities within the same jobs;
and solving for timing and selection variables of planned capabilities.
selecting capabilities to be scheduled;
reserving exit resources for planned capabilities within the same jobs;
and solving for timing and selection variables of planned capabilities.
29. A method for planning and scheduling the work flow for computer controlled reconfigurable production systems according to claim 28, wherein said selected capabilities include a subset of capabilities needed to produce said work unit.
30. A method for planning and scheduling the work flow for computer controlled reconfigurable production systems according to claim 28, wherein said selected capabilities include all of the capabilities needed to produce said work unit.
31. A method for planning and scheduling the work flow for computer controlled reconfigurable production systems according to claim 19, wherein said capabilities comprise capability models for at least one machine module.
32. A method for planning and scheduling the work flow for computer controlled reconfigurable production systems according to claim 19, wherein said capabilities comprise feature constraints.
33. A method for planning and scheduling the work flow for computer controlled reconfigurable production systems according to claim 19, wherein said capabilities comprise timing constraints.
34. An article of manufacture comprising a computer usable medium having computer readable program code embodied in said medium which, when said program code is executed by said computer causes said computer to perform method steps for planning and scheduling computer controlled reconfigurable production systems, said method comprising:
planning the work flow for at least one reconfigurable production system without utilizing off-line modules, including determining that a work unit is to be removed from consideration if capabilities of one or more off-line modules are needed for the work unit;
scheduling the work flow for the plurality of modules in the reconfigurable production system without utilizing off-line modules;
marking work units removed from consideration; and reconsidering the marked work units once the off-line modules become available.
planning the work flow for at least one reconfigurable production system without utilizing off-line modules, including determining that a work unit is to be removed from consideration if capabilities of one or more off-line modules are needed for the work unit;
scheduling the work flow for the plurality of modules in the reconfigurable production system without utilizing off-line modules;
marking work units removed from consideration; and reconsidering the marked work units once the off-line modules become available.
35. An article of manufacture comprising a computer usable medium having computer readable program code embodied in said medium which, when said program code is executed by said computer causes said computer to perform method steps for planning and scheduling computer controlled reconfigurable production systems according to claim 34, wherein planning said work flow comprises:
acquiring a description of work units to be produced;
selecting at least one of said work units to be planned;
determining the capabilities needed to produce said work unit without utilizing off-line modules;
determining whether the capabilities needed to produce said work unit without utilizing off-line modules are available;
modifying constraints using selection variables;
posting constraints on selection variables and common modules to memory; and posting timing and precedence constraints to memory.
acquiring a description of work units to be produced;
selecting at least one of said work units to be planned;
determining the capabilities needed to produce said work unit without utilizing off-line modules;
determining whether the capabilities needed to produce said work unit without utilizing off-line modules are available;
modifying constraints using selection variables;
posting constraints on selection variables and common modules to memory; and posting timing and precedence constraints to memory.
36. An article of manufacture comprising a computer usable medium having computer readable program code embodied in said medium which, when said program code is executed by said computer causes said computer to perfonn method steps for planning and scheduling computer controlled reconfigurable production systems according to claim 34, wherein scheduling said work flow comprises:
selecting capabilities to be scheduled;
reserving exit resources for planned capabilities within that are the same jobs; and solving for timing and selection variables of planned capabilities.
selecting capabilities to be scheduled;
reserving exit resources for planned capabilities within that are the same jobs; and solving for timing and selection variables of planned capabilities.
37. A computer controlled system for planning and scheduling the work flow for a reconfigurable production system, the computer controlled system comprising:
a plurality of modules, the reconfigurable production system comprising the plurality of modules, the plurality of modules having a plurality of alternative capabilities, the work flow comprising one or more jobs to be performed on the reconfigurable production system, each job comprising one or more work units to be produced on the reconfigurable production system;
a system controller;
a computer-readable memory that stores computer-executable instructions for execution by the system controller, the computer--executable instructions comprising instructions for:
planning the production of work units of the one or more jobs without utilizing off-line modules, the planning comprising:
selecting one or more work units to be planned, determining one or more system capabilities to produce the one or more work units, such that the off-line modules are not utilized, determining whether the system capabilities to produce the one or more work units are available without utilizing the off-line modules, and if the system capabilities to produce a work unit are not available without utilizing the off-line modules, prior to the work unit reaching the off-line modules, tagging, by the system controller, the work unit with the system capabilities needed for the work unit which are not available, prior to the work unit reaching the off-line modules, removing, by the system controller, the work unit and all subsequent work units of the same job from consideration, and reinserting, by the system controller, the work unit and all subsequent work units when the system capabilities needed by the work unit become available, and scheduling the production of the one or more work units without utilizing the off-line modules, wherein the off-line modules are modules of the reconfigurable production system that are temporarily unavailable to produce work units, the reconfigurable production system continues to produce work units while the work unit is removed from consideration, and the work units of each job are produced in order, wherein the system capabilities are operations that accept the work unit at an entry port, process the work unit, and move the work unit to an exit port.
a plurality of modules, the reconfigurable production system comprising the plurality of modules, the plurality of modules having a plurality of alternative capabilities, the work flow comprising one or more jobs to be performed on the reconfigurable production system, each job comprising one or more work units to be produced on the reconfigurable production system;
a system controller;
a computer-readable memory that stores computer-executable instructions for execution by the system controller, the computer--executable instructions comprising instructions for:
planning the production of work units of the one or more jobs without utilizing off-line modules, the planning comprising:
selecting one or more work units to be planned, determining one or more system capabilities to produce the one or more work units, such that the off-line modules are not utilized, determining whether the system capabilities to produce the one or more work units are available without utilizing the off-line modules, and if the system capabilities to produce a work unit are not available without utilizing the off-line modules, prior to the work unit reaching the off-line modules, tagging, by the system controller, the work unit with the system capabilities needed for the work unit which are not available, prior to the work unit reaching the off-line modules, removing, by the system controller, the work unit and all subsequent work units of the same job from consideration, and reinserting, by the system controller, the work unit and all subsequent work units when the system capabilities needed by the work unit become available, and scheduling the production of the one or more work units without utilizing the off-line modules, wherein the off-line modules are modules of the reconfigurable production system that are temporarily unavailable to produce work units, the reconfigurable production system continues to produce work units while the work unit is removed from consideration, and the work units of each job are produced in order, wherein the system capabilities are operations that accept the work unit at an entry port, process the work unit, and move the work unit to an exit port.
38. The system according to claim 37, wherein said planning further comprises:
modifying one or more of timing constraints, interval constraints, and precedence constraints using selection variables so that the work units can be produced;
posting one or more selection variable constraints on selection variables and the plurality of modules to memory so that the work units can be produced;
posting the timing, interval, and precedence constraints to memory so that the work units can be produced; and reserving a selected resource if only part of a job is being scheduled.
modifying one or more of timing constraints, interval constraints, and precedence constraints using selection variables so that the work units can be produced;
posting one or more selection variable constraints on selection variables and the plurality of modules to memory so that the work units can be produced;
posting the timing, interval, and precedence constraints to memory so that the work units can be produced; and reserving a selected resource if only part of a job is being scheduled.
39. The system according to claim 38, wherein selecting one or more work units to be planned is based on an input job description.
40. The system according to claim 38, wherein the determining of the system capabilities to produce said one or more work units further comprises specifying a desired exit port and itinerary.
41. The system according to claim 40, further comprising instructions for selecting at least one alternative one of the system capabilities from the reconfigurable production system modules.
42. The system according to claim 38, wherein said selection variables are created automatically for each system capability.
43. The system according to claim 38, wherein said selection variables comprise Boolean variables.
44. The system according to claim 38, wherein said constraints modified by said modifying instruction comprise the reservation of one or more resources during intervals in which reconfigurable production system modules are occupied.
45. The system according to claim 38, wherein posting the timing, interval, and precedence constraints comprises connecting variables of all alternative capabilities between successive ones of the work units to a single time variable.
46. The system according to claim 37, wherein said scheduling comprises:
selecting one or more capabilities to be scheduled;
reserving one or more exit resources of the plurality of modules for the selected capabilities, each exit resource being a resource that relates to the exit of work units from the corresponding one of the modules; and solving for one or more of timing and selection variables.
selecting one or more capabilities to be scheduled;
reserving one or more exit resources of the plurality of modules for the selected capabilities, each exit resource being a resource that relates to the exit of work units from the corresponding one of the modules; and solving for one or more of timing and selection variables.
47. The system according to claim 38, further comprising instructions for acquiring at least one capability model from at least one of the plurality of modules.
48. The system according to claim 37, wherein said plurality of modules comprises a print engine module.
49. The system according to claim 37, wherein said plurality of modules comprise an analysis module.
50. The system according to claim 37, wherein said plurality of modules comprise a manufacturing line module.
51. The system according to claim 37, wherein said plurality of modules comprise a packaging line module.
52. A method for planning and scheduling the work flow for a computer controlled reconfigurable production system having a plurality of modules with a plurality of alternative capabilities, the work flow comprising one or more jobs for production on the reconfigurable production system, each job comprising one or more work units to be produced on the reconfigurable production system, the method comprising:
planning the work flow for the reconfigurable production system, without utilizing off-line modules, the planning the work flow comprising:
acquiring a description of one or more work units of the one or more jobs to be produced, selecting at least one of the work units to be planned, determining the capabilities needed to produce the at least one of the work units without utilizing the off-line modules, determining whether the capabilities needed to produce the at least one of the work units without utilizing the off-line modules are available, and if the capabilities to produce a work unit are not available without utilizing the off-line modules;
prior to the work unit reaching the off-line modules, tagging, by the reconfigurable production system, the work unit with the capabilities needed for the work unit which are not available, prior to the work unit reaching the off-line modules, removing, by the reconfigurable production system, the work unit and all subsequent work units of the same job from consideration; and reinserting, by the reconfigurable production system, the work unit and all subsequent work units when the capabilities needed by the work unit become available, and scheduling the work flow for the plurality of modules in the reconfigurable production system, without utilizing the off-line modules, wherein the off-line modules are modules of the reconfigurable production system that are temporarily unavailable to produce work units, the reconfigurable production system continues to produce work units while the work unit is removed from consideration, and the work units of each job are produced in order, wherein the system capabilities are operations that accept the work unit at an entry port, process the work unit, and move the work unit to an exit port.
planning the work flow for the reconfigurable production system, without utilizing off-line modules, the planning the work flow comprising:
acquiring a description of one or more work units of the one or more jobs to be produced, selecting at least one of the work units to be planned, determining the capabilities needed to produce the at least one of the work units without utilizing the off-line modules, determining whether the capabilities needed to produce the at least one of the work units without utilizing the off-line modules are available, and if the capabilities to produce a work unit are not available without utilizing the off-line modules;
prior to the work unit reaching the off-line modules, tagging, by the reconfigurable production system, the work unit with the capabilities needed for the work unit which are not available, prior to the work unit reaching the off-line modules, removing, by the reconfigurable production system, the work unit and all subsequent work units of the same job from consideration; and reinserting, by the reconfigurable production system, the work unit and all subsequent work units when the capabilities needed by the work unit become available, and scheduling the work flow for the plurality of modules in the reconfigurable production system, without utilizing the off-line modules, wherein the off-line modules are modules of the reconfigurable production system that are temporarily unavailable to produce work units, the reconfigurable production system continues to produce work units while the work unit is removed from consideration, and the work units of each job are produced in order, wherein the system capabilities are operations that accept the work unit at an entry port, process the work unit, and move the work unit to an exit port.
53. A method according to claim 52, wherein planning said work flow further comprises:
modifying one or more of timing, interval, and precedence constraints using selection variables;
posting one or more selection variable constraints on selection variables and common modules to a memory; and posting the timing, interval, and precedence constraints to the memory.
modifying one or more of timing, interval, and precedence constraints using selection variables;
posting one or more selection variable constraints on selection variables and common modules to a memory; and posting the timing, interval, and precedence constraints to the memory.
54. A method according to claim 53, wherein determining the capabilities needed to produce at least one of the work units comprises selecting alternative capabilities from the capabilities of the reconfigurable production system modules.
55. A method according to claim 53, wherein said modified constraints comprise the reservation of resources during intervals in which reconfigurable production system modules are occupied.
56. A method according to claim 53, wherein said selection variables are created automatically for each capability.
57. A method according to claim 53, wherein said selection variables comprise Boolean variables.
58. A method according to claim 53, wherein said precedence constraints comprise connecting output variables of all alternative capabilities between successive ones of the work units to a single time variable.
59. A method according to claim 53, further comprising reserving a selected resource if only part of a job is being scheduled.
60. A method according to claim 52, wherein scheduling the work flow for the plurality of modules in the reconfigurable production system comprises:
selecting one or more capabilities to be scheduled;
reserving one or more exit resources for the selected capabilities within the same jobs; and solving for one or more timing and selection variables of the selected capabilities.
selecting one or more capabilities to be scheduled;
reserving one or more exit resources for the selected capabilities within the same jobs; and solving for one or more timing and selection variables of the selected capabilities.
61. A method according to claim 60, wherein said selected capabilities include a subset of capabilities needed to produce the at least one of the work units.
62. A method according to claim 60, wherein said selected capabilities include all of the capabilities needed to produce the at least one of the work units.
63. A method according to claim 53, wherein said capabilities comprise capability models for at least one of the plurality of modules.
64. A method according to claim 53, wherein said capabilities comprise feature constraints.
65. A method according to claim 53, wherein said capabilities comprise timing constraints.
66. An article of manufacture comprising a computer-readable recording medium having computer readable program code embodied in the medium which, when the program code is executed by a computer causes the computer to perform a method for planning and scheduling for a computer controlled reconfigurable production system, the method comprising:
planning the work flow for the reconfigurable production system without utilizing off-line modules, the work flow comprising one or more jobs for production on the reconfigurable production system, each job comprising one or more work units to be produced on the reconfigurable production system, wherein the planning the work flow comprises:
acquiring a description of one or more work units of the one or more jobs to be produced, selecting at least one of the work units to be planned, determining the capabilities needed to produce the at least one of the work units without utilizing the off-line modules, determining whether the capabilities needed to produce the at least one of the work units without utilizing the off-line modules are available, if a work unit cannot be produced without utilizing the off-line modules, prior to the work unit reaching the off-line modules, tagging, by the reconfigurable production system, the work unit with the capabilities needed for the work unit which are not available, prior to the work unit reaching the off-line modules, removing, by the reconfigurable production system, the work unit and all subsequent work units of the same job from further consideration, and reinserting, by the reconfigurable production system, the work unit and all subsequent work units when the capabilities needed by the work unit become available, modifying one or more of timing, interval, and precedence constraints using selection variables, posting one or more selection variable constraints on selection variables and common modules to a memory, posting the timing, interval, and precedence constraints to the memory;
and scheduling the work flow for a plurality of modules in the reconfigurable production system without utilizing the off-line modules, wherein the off-line modules are modules of the reconfigurable production system that are temporarily unavailable to produce work units, the reconfigurable production system continues to produce work units while the work unit is removed from consideration, and the work units of each job are produced in order, wherein the system capabilities are operations that accept the work unit at an entry port, process the work unit, and move the work unit to an exit port.
planning the work flow for the reconfigurable production system without utilizing off-line modules, the work flow comprising one or more jobs for production on the reconfigurable production system, each job comprising one or more work units to be produced on the reconfigurable production system, wherein the planning the work flow comprises:
acquiring a description of one or more work units of the one or more jobs to be produced, selecting at least one of the work units to be planned, determining the capabilities needed to produce the at least one of the work units without utilizing the off-line modules, determining whether the capabilities needed to produce the at least one of the work units without utilizing the off-line modules are available, if a work unit cannot be produced without utilizing the off-line modules, prior to the work unit reaching the off-line modules, tagging, by the reconfigurable production system, the work unit with the capabilities needed for the work unit which are not available, prior to the work unit reaching the off-line modules, removing, by the reconfigurable production system, the work unit and all subsequent work units of the same job from further consideration, and reinserting, by the reconfigurable production system, the work unit and all subsequent work units when the capabilities needed by the work unit become available, modifying one or more of timing, interval, and precedence constraints using selection variables, posting one or more selection variable constraints on selection variables and common modules to a memory, posting the timing, interval, and precedence constraints to the memory;
and scheduling the work flow for a plurality of modules in the reconfigurable production system without utilizing the off-line modules, wherein the off-line modules are modules of the reconfigurable production system that are temporarily unavailable to produce work units, the reconfigurable production system continues to produce work units while the work unit is removed from consideration, and the work units of each job are produced in order, wherein the system capabilities are operations that accept the work unit at an entry port, process the work unit, and move the work unit to an exit port.
67. An article of manufacture comprising a computer-readable recording medium having computer readable program code embodied in said medium which, when said program code is executed by said computer causes said computer to perform a method for planning and scheduling computer controlled reconfigurable production systems according to claim 66, wherein scheduling said work flow comprises:
selecting one or more capabilities to be scheduled;
reserving one or more exit resources for the selected capabilities within the same jobs; and solving for one or more timing and selection variables of the selected capabilities.
selecting one or more capabilities to be scheduled;
reserving one or more exit resources for the selected capabilities within the same jobs; and solving for one or more timing and selection variables of the selected capabilities.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US10/284,514 US8315898B2 (en) | 2002-10-30 | 2002-10-30 | Planning and scheduling reconfigurable systems around off-line resources |
US10/284,514 | 2002-10-30 |
Publications (2)
Publication Number | Publication Date |
---|---|
CA2446664A1 CA2446664A1 (en) | 2004-04-30 |
CA2446664C true CA2446664C (en) | 2015-04-28 |
Family
ID=32174878
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CA2446664A Expired - Fee Related CA2446664C (en) | 2002-10-30 | 2003-10-24 | Planning and scheduling reconfigurable systems around off-line resources |
Country Status (5)
Country | Link |
---|---|
US (1) | US8315898B2 (en) |
JP (1) | JP4777608B2 (en) |
BR (1) | BR0304773A (en) |
CA (1) | CA2446664C (en) |
MX (1) | MXPA03009918A (en) |
Families Citing this family (142)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7226049B2 (en) * | 2003-06-06 | 2007-06-05 | Xerox Corporation | Universal flexible plural printer to plural finisher sheet integration system |
US7396012B2 (en) * | 2004-06-30 | 2008-07-08 | Xerox Corporation | Flexible paper path using multidirectional path modules |
US7206532B2 (en) * | 2004-08-13 | 2007-04-17 | Xerox Corporation | Multiple object sources controlled and/or selected based on a common sensor |
US7188929B2 (en) * | 2004-08-13 | 2007-03-13 | Xerox Corporation | Parallel printing architecture with containerized image marking engines |
US7493055B2 (en) * | 2006-03-17 | 2009-02-17 | Xerox Corporation | Fault isolation of visible defects with manual module shutdown options |
US8407077B2 (en) * | 2006-02-28 | 2013-03-26 | Palo Alto Research Center Incorporated | System and method for manufacturing system design and shop scheduling using network flow modeling |
US7542059B2 (en) * | 2006-03-17 | 2009-06-02 | Xerox Corporation | Page scheduling for printing architectures |
US7787138B2 (en) * | 2005-05-25 | 2010-08-31 | Xerox Corporation | Scheduling system |
US7224913B2 (en) * | 2005-05-05 | 2007-05-29 | Xerox Corporation | Printing system and scheduling method |
US9250967B2 (en) * | 2004-08-23 | 2016-02-02 | Palo Alto Research Center Incorporated | Model-based planning with multi-capacity resources |
US7649645B2 (en) | 2005-06-21 | 2010-01-19 | Xerox Corporation | Method of ordering job queue of marking systems |
US7302199B2 (en) * | 2005-05-25 | 2007-11-27 | Xerox Corporation | Document processing system and methods for reducing stress therein |
US20070002085A1 (en) * | 2005-06-30 | 2007-01-04 | Xerox Corporation | High availability printing systems |
US7619769B2 (en) * | 2005-05-25 | 2009-11-17 | Xerox Corporation | Printing system |
US7308218B2 (en) * | 2005-06-14 | 2007-12-11 | Xerox Corporation | Warm-up of multiple integrated marking engines |
US7742185B2 (en) | 2004-08-23 | 2010-06-22 | Xerox Corporation | Print sequence scheduling for reliability |
US7024152B2 (en) * | 2004-08-23 | 2006-04-04 | Xerox Corporation | Printing system with horizontal highway and single pass duplex |
US7136616B2 (en) * | 2004-08-23 | 2006-11-14 | Xerox Corporation | Parallel printing architecture using image marking engine modules |
US7245838B2 (en) * | 2005-06-20 | 2007-07-17 | Xerox Corporation | Printing platform |
US7123873B2 (en) * | 2004-08-23 | 2006-10-17 | Xerox Corporation | Printing system with inverter disposed for media velocity buffering and registration |
US7336920B2 (en) * | 2004-09-28 | 2008-02-26 | Xerox Corporation | Printing system |
US7324779B2 (en) * | 2004-09-28 | 2008-01-29 | Xerox Corporation | Printing system with primary and secondary fusing devices |
US7751072B2 (en) * | 2004-09-29 | 2010-07-06 | Xerox Corporation | Automated modification of a marking engine in a printing system |
US20060114497A1 (en) * | 2004-11-30 | 2006-06-01 | Xerox Corporation | Printing system |
US7791751B2 (en) * | 2004-11-30 | 2010-09-07 | Palo Alto Research Corporation | Printing systems |
US7162172B2 (en) * | 2004-11-30 | 2007-01-09 | Xerox Corporation | Semi-automatic image quality adjustment for multiple marking engine systems |
US7310108B2 (en) * | 2004-11-30 | 2007-12-18 | Xerox Corporation | Printing system |
US7245856B2 (en) * | 2004-11-30 | 2007-07-17 | Xerox Corporation | Systems and methods for reducing image registration errors |
US7412180B2 (en) * | 2004-11-30 | 2008-08-12 | Xerox Corporation | Glossing system for use in a printing system |
US7305194B2 (en) * | 2004-11-30 | 2007-12-04 | Xerox Corporation | Xerographic device streak failure recovery |
US7283762B2 (en) | 2004-11-30 | 2007-10-16 | Xerox Corporation | Glossing system for use in a printing architecture |
JP4450205B2 (en) * | 2004-12-24 | 2010-04-14 | ブラザー工業株式会社 | Inkjet recording device |
US7540484B2 (en) * | 2005-02-02 | 2009-06-02 | Xerox Corporation | System of opposing alternate higher speed sheet feeding from the same sheet stack |
US7226158B2 (en) * | 2005-02-04 | 2007-06-05 | Xerox Corporation | Printing systems |
US7873962B2 (en) * | 2005-04-08 | 2011-01-18 | Xerox Corporation | Distributed control systems and methods that selectively activate respective coordinators for respective tasks |
US8081329B2 (en) | 2005-06-24 | 2011-12-20 | Xerox Corporation | Mixed output print control method and system |
US7791741B2 (en) * | 2005-04-08 | 2010-09-07 | Palo Alto Research Center Incorporated | On-the-fly state synchronization in a distributed system |
US8819103B2 (en) * | 2005-04-08 | 2014-08-26 | Palo Alto Research Center, Incorporated | Communication in a distributed system |
US8014024B2 (en) * | 2005-03-02 | 2011-09-06 | Xerox Corporation | Gray balance for a printing system of multiple marking engines |
US7416185B2 (en) * | 2005-03-25 | 2008-08-26 | Xerox Corporation | Inverter with return/bypass paper path |
US7258340B2 (en) * | 2005-03-25 | 2007-08-21 | Xerox Corporation | Sheet registration within a media inverter |
US7697151B2 (en) * | 2005-03-25 | 2010-04-13 | Xerox Corporation | Image quality control method and apparatus for multiple marking engine systems |
US7206536B2 (en) * | 2005-03-29 | 2007-04-17 | Xerox Corporation | Printing system with custom marking module and method of printing |
US7245844B2 (en) * | 2005-03-31 | 2007-07-17 | Xerox Corporation | Printing system |
US7272334B2 (en) * | 2005-03-31 | 2007-09-18 | Xerox Corporation | Image on paper registration alignment |
US7305198B2 (en) * | 2005-03-31 | 2007-12-04 | Xerox Corporation | Printing system |
US7444108B2 (en) * | 2005-03-31 | 2008-10-28 | Xerox Corporation | Parallel printing architecture with parallel horizontal printing modules |
US7706007B2 (en) * | 2005-04-08 | 2010-04-27 | Palo Alto Research Center Incorporated | Synchronization in a distributed system |
US7566053B2 (en) * | 2005-04-19 | 2009-07-28 | Xerox Corporation | Media transport system |
US7593130B2 (en) * | 2005-04-20 | 2009-09-22 | Xerox Corporation | Printing systems |
JP4455397B2 (en) * | 2005-04-26 | 2010-04-21 | キヤノン株式会社 | Information processing apparatus and control method thereof |
US20060244980A1 (en) * | 2005-04-27 | 2006-11-02 | Xerox Corporation | Image quality adjustment method and system |
US20060268287A1 (en) * | 2005-05-25 | 2006-11-30 | Xerox Corporation | Automated promotion of monochrome jobs for HLC production printers |
US7486416B2 (en) * | 2005-06-02 | 2009-02-03 | Xerox Corporation | Inter-separation decorrelator |
US8004729B2 (en) * | 2005-06-07 | 2011-08-23 | Xerox Corporation | Low cost adjustment method for printing systems |
US7387297B2 (en) * | 2005-06-24 | 2008-06-17 | Xerox Corporation | Printing system sheet feeder using rear and front nudger rolls |
US7451697B2 (en) * | 2005-06-24 | 2008-11-18 | Xerox Corporation | Printing system |
US7310493B2 (en) * | 2005-06-24 | 2007-12-18 | Xerox Corporation | Multi-unit glossing subsystem for a printing device |
US7433627B2 (en) * | 2005-06-28 | 2008-10-07 | Xerox Corporation | Addressable irradiation of images |
US8259369B2 (en) | 2005-06-30 | 2012-09-04 | Xerox Corporation | Color characterization or calibration targets with noise-dependent patch size or number |
US8203768B2 (en) * | 2005-06-30 | 2012-06-19 | Xerox Corporaiton | Method and system for processing scanned patches for use in imaging device calibration |
US7647018B2 (en) * | 2005-07-26 | 2010-01-12 | Xerox Corporation | Printing system |
US7496412B2 (en) | 2005-07-29 | 2009-02-24 | Xerox Corporation | Control method using dynamic latitude allocation and setpoint modification, system using the control method, and computer readable recording media containing the control method |
US8428990B2 (en) * | 2005-08-19 | 2013-04-23 | Siemens Aktiengesellschaft | Method for allocating resources to jobs using network flow algorithms |
US7466940B2 (en) * | 2005-08-22 | 2008-12-16 | Xerox Corporation | Modular marking architecture for wide media printing platform |
US7474861B2 (en) * | 2005-08-30 | 2009-01-06 | Xerox Corporation | Consumable selection in a printing system |
US7911652B2 (en) * | 2005-09-08 | 2011-03-22 | Xerox Corporation | Methods and systems for determining banding compensation parameters in printing systems |
US7430380B2 (en) * | 2005-09-23 | 2008-09-30 | Xerox Corporation | Printing system |
US7495799B2 (en) * | 2005-09-23 | 2009-02-24 | Xerox Corporation | Maximum gamut strategy for the printing systems |
US7444088B2 (en) * | 2005-10-11 | 2008-10-28 | Xerox Corporation | Printing system with balanced consumable usage |
US7811017B2 (en) * | 2005-10-12 | 2010-10-12 | Xerox Corporation | Media path crossover for printing system |
US7719716B2 (en) * | 2005-11-04 | 2010-05-18 | Xerox Corporation | Scanner characterization for printer calibration |
US8711435B2 (en) * | 2005-11-04 | 2014-04-29 | Xerox Corporation | Method for correcting integrating cavity effect for calibration and/or characterization targets |
US7660460B2 (en) * | 2005-11-15 | 2010-02-09 | Xerox Corporation | Gamut selection in multi-engine systems |
US7280771B2 (en) * | 2005-11-23 | 2007-10-09 | Xerox Corporation | Media pass through mode for multi-engine system |
US7519314B2 (en) * | 2005-11-28 | 2009-04-14 | Xerox Corporation | Multiple IOT photoreceptor belt seam synchronization |
US7636543B2 (en) * | 2005-11-30 | 2009-12-22 | Xerox Corporation | Radial merge module for printing system |
US7922288B2 (en) * | 2005-11-30 | 2011-04-12 | Xerox Corporation | Printing system |
US7575232B2 (en) * | 2005-11-30 | 2009-08-18 | Xerox Corporation | Media path crossover clearance for printing system |
US7706737B2 (en) | 2005-11-30 | 2010-04-27 | Xerox Corporation | Mixed output printing system |
US7912416B2 (en) | 2005-12-20 | 2011-03-22 | Xerox Corporation | Printing system architecture with center cross-over and interposer by-pass path |
US7756428B2 (en) * | 2005-12-21 | 2010-07-13 | Xerox Corp. | Media path diagnostics with hyper module elements |
US7826090B2 (en) * | 2005-12-21 | 2010-11-02 | Xerox Corporation | Method and apparatus for multiple printer calibration using compromise aim |
US8102564B2 (en) * | 2005-12-22 | 2012-01-24 | Xerox Corporation | Method and system for color correction using both spatial correction and printer calibration techniques |
US7624981B2 (en) * | 2005-12-23 | 2009-12-01 | Palo Alto Research Center Incorporated | Universal variable pitch interface interconnecting fixed pitch sheet processing machines |
US7746524B2 (en) * | 2005-12-23 | 2010-06-29 | Xerox Corporation | Bi-directional inverter printing apparatus and method |
US7963518B2 (en) * | 2006-01-13 | 2011-06-21 | Xerox Corporation | Printing system inverter apparatus and method |
US8477333B2 (en) * | 2006-01-27 | 2013-07-02 | Xerox Corporation | Printing system and bottleneck obviation through print job sequencing |
US7630669B2 (en) * | 2006-02-08 | 2009-12-08 | Xerox Corporation | Multi-development system print engine |
US8194262B2 (en) * | 2006-02-27 | 2012-06-05 | Xerox Corporation | System for masking print defects |
US7965397B2 (en) * | 2006-04-06 | 2011-06-21 | Xerox Corporation | Systems and methods to measure banding print defects |
US8330965B2 (en) | 2006-04-13 | 2012-12-11 | Xerox Corporation | Marking engine selection |
US7681883B2 (en) * | 2006-05-04 | 2010-03-23 | Xerox Corporation | Diverter assembly, printing system and method |
US7679631B2 (en) | 2006-05-12 | 2010-03-16 | Xerox Corporation | Toner supply arrangement |
US7800777B2 (en) * | 2006-05-12 | 2010-09-21 | Xerox Corporation | Automatic image quality control of marking processes |
US7382993B2 (en) * | 2006-05-12 | 2008-06-03 | Xerox Corporation | Process controls methods and apparatuses for improved image consistency |
US7865125B2 (en) * | 2006-06-23 | 2011-01-04 | Xerox Corporation | Continuous feed printing system |
US7856191B2 (en) * | 2006-07-06 | 2010-12-21 | Xerox Corporation | Power regulator of multiple integrated marking engines |
US7924443B2 (en) * | 2006-07-13 | 2011-04-12 | Xerox Corporation | Parallel printing system |
US8607102B2 (en) * | 2006-09-15 | 2013-12-10 | Palo Alto Research Center Incorporated | Fault management for a printing system |
US7766327B2 (en) * | 2006-09-27 | 2010-08-03 | Xerox Corporation | Sheet buffering system |
US7857309B2 (en) * | 2006-10-31 | 2010-12-28 | Xerox Corporation | Shaft driving apparatus |
US7819401B2 (en) * | 2006-11-09 | 2010-10-26 | Xerox Corporation | Print media rotary transport apparatus and method |
US7969624B2 (en) * | 2006-12-11 | 2011-06-28 | Xerox Corporation | Method and system for identifying optimal media for calibration and control |
US8159713B2 (en) * | 2006-12-11 | 2012-04-17 | Xerox Corporation | Data binding in multiple marking engine printing systems |
US7945346B2 (en) * | 2006-12-14 | 2011-05-17 | Palo Alto Research Center Incorporated | Module identification method and system for path connectivity in modular systems |
US8100523B2 (en) * | 2006-12-19 | 2012-01-24 | Xerox Corporation | Bidirectional media sheet transport apparatus |
US8145335B2 (en) | 2006-12-19 | 2012-03-27 | Palo Alto Research Center Incorporated | Exception handling |
US7559549B2 (en) | 2006-12-21 | 2009-07-14 | Xerox Corporation | Media feeder feed rate |
US8693021B2 (en) * | 2007-01-23 | 2014-04-08 | Xerox Corporation | Preemptive redirection in printing systems |
US20080177587A1 (en) * | 2007-01-23 | 2008-07-24 | Sonia Jean Cushing | Prioritizing orders using business factors |
US7934825B2 (en) * | 2007-02-20 | 2011-05-03 | Xerox Corporation | Efficient cross-stream printing system |
US7676191B2 (en) | 2007-03-05 | 2010-03-09 | Xerox Corporation | Method of duplex printing on sheet media |
US7894107B2 (en) * | 2007-04-27 | 2011-02-22 | Xerox Corporation | Optical scanner with non-redundant overwriting |
US20080268839A1 (en) * | 2007-04-27 | 2008-10-30 | Ayers John I | Reducing a number of registration termination massages in a network for cellular devices |
US8253958B2 (en) | 2007-04-30 | 2012-08-28 | Xerox Corporation | Scheduling system |
US8169657B2 (en) * | 2007-05-09 | 2012-05-01 | Xerox Corporation | Registration method using sensed image marks and digital realignment |
US7689311B2 (en) * | 2007-05-29 | 2010-03-30 | Palo Alto Research Center Incorporated | Model-based planning using query-based component executable instructions |
US7590464B2 (en) * | 2007-05-29 | 2009-09-15 | Palo Alto Research Center Incorporated | System and method for on-line planning utilizing multiple planning queues |
US7925366B2 (en) * | 2007-05-29 | 2011-04-12 | Xerox Corporation | System and method for real-time system control using precomputed plans |
US8203750B2 (en) | 2007-08-01 | 2012-06-19 | Xerox Corporation | Color job reprint set-up for a printing system |
US7697166B2 (en) * | 2007-08-03 | 2010-04-13 | Xerox Corporation | Color job output matching for a printing system |
US7590501B2 (en) | 2007-08-28 | 2009-09-15 | Xerox Corporation | Scanner calibration robust to lamp warm-up |
US8151267B2 (en) * | 2008-04-08 | 2012-04-03 | Xerox Corporation | Printing system scheduler methods and systems |
US8077358B2 (en) * | 2008-04-24 | 2011-12-13 | Xerox Corporation | Systems and methods for implementing use of customer documents in maintaining image quality (IQ)/image quality consistency (IQC) of printing devices |
US8219437B2 (en) | 2008-07-10 | 2012-07-10 | Palo Alto Research Center Incorporated | Methods and systems for constructing production plans |
US7937175B2 (en) * | 2008-07-10 | 2011-05-03 | Palo Alto Research Center Incorporated | Methods and systems for pervasive diagnostics |
US8145334B2 (en) | 2008-07-10 | 2012-03-27 | Palo Alto Research Center Incorporated | Methods and systems for active diagnosis through logic-based planning |
US8165705B2 (en) * | 2008-07-10 | 2012-04-24 | Palo Alto Research Center Incorporated | Methods and systems for continuously estimating persistent and intermittent failure probabilities for production resources |
US8266092B2 (en) * | 2008-07-10 | 2012-09-11 | Palo Alto Research Center Incorporated | Methods and systems for target value path identification |
US8612050B2 (en) * | 2008-07-29 | 2013-12-17 | Palo Alto Research Center Incorporated | Intelligent product feed system and method |
US8169626B2 (en) | 2008-08-29 | 2012-05-01 | Xerox Corporation | Using buffers to support uncertainties in marking engine execution |
US8693012B2 (en) * | 2008-09-04 | 2014-04-08 | Xerox Corporation | Run cost optimization for multi-engine printing system |
US8583465B1 (en) * | 2008-09-25 | 2013-11-12 | Bank Of America Corporation | Supply management and reporting system and method for resource management |
US8359110B2 (en) * | 2009-03-23 | 2013-01-22 | Kuhn Lukas D | Methods and systems for fault diagnosis in observation rich systems |
US7976012B2 (en) | 2009-04-28 | 2011-07-12 | Xerox Corporation | Paper feeder for modular printers |
US9014827B2 (en) * | 2010-01-14 | 2015-04-21 | International Business Machines Corporation | Dynamically generating a manufacturing production work flow with selectable sampling strategies |
JP6088737B2 (en) * | 2012-02-16 | 2017-03-01 | 株式会社日立製作所 | Power system operation method, operation device, and storage battery management device |
EP2821865A1 (en) * | 2013-07-01 | 2015-01-07 | International Tobacco Machinery Poland Sp. z o.o. | Method and system for establishing a data set for identification of parts, modules and/or activities for conversion of flexible production system |
CN105184549A (en) * | 2015-08-30 | 2015-12-23 | 武汉聚沙塔管理咨询有限公司 | An entry system and method based on electronic invoices |
CN108509284A (en) * | 2018-03-08 | 2018-09-07 | 华南理工大学 | A kind of tree shaped model task management system applied to functional expression programming |
CN110942220B (en) * | 2018-09-25 | 2022-06-28 | 北京嘀嘀无限科技发展有限公司 | Transport capacity scheduling method and device and server |
Family Cites Families (36)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4888692A (en) * | 1986-08-11 | 1989-12-19 | Texas Instruments Incorporated | Real-time scheduling system |
US5093794A (en) * | 1989-08-22 | 1992-03-03 | United Technologies Corporation | Job scheduling system |
JP3098584B2 (en) * | 1990-09-28 | 2000-10-16 | ゼロックス コーポレイション | Fault removal and recovery method and apparatus in electronic copying system |
US5095342A (en) | 1990-09-28 | 1992-03-10 | Xerox Corporation | Methods for sheet scheduling in an imaging system having an endless duplex paper path loop |
US5159395A (en) | 1991-08-29 | 1992-10-27 | Xerox Corporation | Method of scheduling copy sheets in a dual mode duplex printing system |
US5586021A (en) * | 1992-03-24 | 1996-12-17 | Texas Instruments Incorporated | Method and system for production planning |
US5363175A (en) * | 1993-03-01 | 1994-11-08 | Xerox Corporation | Distributed job scheduling with modular components |
CA2119921C (en) * | 1994-03-23 | 2009-09-29 | Sydney H. Belzberg | Computerized stock exchange trading system |
US5444632A (en) * | 1994-04-28 | 1995-08-22 | Texas Instruments Incorporated | Apparatus and method for controlling and scheduling processing machines |
US5557367A (en) | 1995-03-27 | 1996-09-17 | Xerox Corporation | Method and apparatus for optimizing scheduling in imaging devices |
US5696893A (en) | 1995-06-07 | 1997-12-09 | Xerox Corporation | System for generically describing and scheduling operation of modular printing machine |
US5631740A (en) | 1995-11-28 | 1997-05-20 | Xerox Corporation | Transducers with constraints model for print scheduling |
US5646740A (en) * | 1995-12-06 | 1997-07-08 | Xerox Corporation | Partial or untimed production trees to specify diagnostics operations requiring multiple module cooperation |
US5819238A (en) * | 1996-12-13 | 1998-10-06 | Enhanced Investment Technologies, Inc. | Apparatus and accompanying methods for automatically modifying a financial portfolio through dynamic re-weighting based on a non-constant function of current capitalization weights |
US5787402A (en) * | 1996-05-15 | 1998-07-28 | Crossmar, Inc. | Method and system for performing automated financial transactions involving foreign currencies |
JP3493910B2 (en) * | 1996-08-23 | 2004-02-03 | 株式会社日立製作所 | Automated processing system |
US6889101B1 (en) * | 1997-11-25 | 2005-05-03 | Tokyo Electron Limited | Apparatus for computer-aided design of a product or process |
US6349237B1 (en) * | 1997-12-23 | 2002-02-19 | The Regents Of The University Of Michigan | Reconfigurable manufacturing system having a production capacity method for designing same and method for changing its production capacity |
JPH11235648A (en) * | 1998-02-17 | 1999-08-31 | Toshiba Corp | Manufacturing plan control device, manufacturing plan controlling method and storage medium recorded with manufacturing plan control program capable of reading by computer |
JPH11282909A (en) * | 1998-03-26 | 1999-10-15 | Toshiba Corp | Production scheduling method and device therefor |
US6141598A (en) * | 1998-04-06 | 2000-10-31 | Hyundai Motor Company | Vehicle assembly line control system and method |
JP3002776B1 (en) * | 1998-07-16 | 2000-01-24 | 横河電機株式会社 | Production system and processing apparatus selection method in production system |
US6347256B1 (en) * | 1998-11-02 | 2002-02-12 | Printcafe System, Inc. | Manufacturing process modeling techniques |
US6279009B1 (en) * | 1998-12-04 | 2001-08-21 | Impresse Corporation | Dynamic creation of workflows from deterministic models of real world processes |
US6546364B1 (en) * | 1998-12-18 | 2003-04-08 | Impresse Corporation | Method and apparatus for creating adaptive workflows |
US6415259B1 (en) | 1999-07-15 | 2002-07-02 | American Management Systems, Inc. | Automatic work progress tracking and optimizing engine for a telecommunications customer care and billing system |
US6516239B1 (en) * | 1999-08-03 | 2003-02-04 | Honda Of Canada Incorporated | Assembly line control system |
US6606527B2 (en) * | 2000-03-31 | 2003-08-12 | International Business Machines Corporation | Methods and systems for planning operations in manufacturing plants |
AU2001268688A1 (en) * | 2000-06-22 | 2002-01-02 | Eventra, Inc. | Method and system for supplier relationship management |
US6874034B1 (en) * | 2000-08-17 | 2005-03-29 | Hewlett-Packard Development Company, L.P. | Intelligent peer hybrid printing protocol |
WO2002031746A1 (en) * | 2000-10-12 | 2002-04-18 | Manugistics, Inc. | System and methods for scheduling manufacturing resources |
US6583386B1 (en) * | 2000-12-14 | 2003-06-24 | Impact Engineering, Inc. | Method and system for weld monitoring and tracking |
US7046384B2 (en) * | 2001-01-11 | 2006-05-16 | Sharp Laboratories Of America, Inc. | Methods and systems for print-processor-based print task error recovery |
US7190477B2 (en) * | 2001-02-22 | 2007-03-13 | Sharp Laboratories Of America, Inc. | System and method for managing and processing a print job using print job tickets |
US7539630B2 (en) * | 2001-12-27 | 2009-05-26 | Jda Software Group | System, method, and computer program for replenishment by manufacture with attribute based planning |
US6983188B2 (en) * | 2004-04-16 | 2006-01-03 | Hewlett-Packard Development Company, L.P. | Scheduling system |
-
2002
- 2002-10-30 US US10/284,514 patent/US8315898B2/en not_active Expired - Fee Related
-
2003
- 2003-10-24 CA CA2446664A patent/CA2446664C/en not_active Expired - Fee Related
- 2003-10-27 JP JP2003366406A patent/JP4777608B2/en not_active Expired - Fee Related
- 2003-10-28 BR BR0304773-3A patent/BR0304773A/en not_active Application Discontinuation
- 2003-10-29 MX MXPA03009918A patent/MXPA03009918A/en active IP Right Grant
Also Published As
Publication number | Publication date |
---|---|
JP4777608B2 (en) | 2011-09-21 |
US20040088207A1 (en) | 2004-05-06 |
MXPA03009918A (en) | 2005-04-19 |
BR0304773A (en) | 2004-08-31 |
CA2446664A1 (en) | 2004-04-30 |
JP2004152296A (en) | 2004-05-27 |
US8315898B2 (en) | 2012-11-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CA2446664C (en) | Planning and scheduling reconfigurable systems around off-line resources | |
CA2447067C (en) | Planning and scheduling reconfigurable systems with regular and diagnostic jobs | |
US7230736B2 (en) | Planning and scheduling reconfigurable systems with alternative capabilities | |
US7139629B2 (en) | Planning and scheduling for failure recovery system and method | |
US6895292B2 (en) | Predictive and preemptive planning and scheduling for different job priorities system and method | |
US8005561B2 (en) | Method for self-synchronization of modular production systems | |
EP0747794B1 (en) | Modular print engine scheduling system | |
EP1600837A2 (en) | System and method utilizing temporal constraints to coordinate multiple planning sessions | |
US5694529A (en) | System for automatically configuring print engine software from print engine module capabilities | |
EP1600836A2 (en) | Exception handling in manufacturing systems combining on-line planning and predetermined rules | |
EP0747793B1 (en) | Modular print engine scheduling method | |
US7925366B2 (en) | System and method for real-time system control using precomputed plans | |
Paul et al. | A heuristic scheduling procedure for multi-item hoist production lines | |
EP0747792B1 (en) | Modular print engine assessment method using models | |
US7451132B2 (en) | System and method for production planning utilizing on-line state-space planning | |
Labbi et al. | Scheduling two identical parallel machines with preparation constraints |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
EEER | Examination request | ||
MKLA | Lapsed |
Effective date: 20201026 |