The present invention relates broadly to resource management and scheduling and more particularly to resource scheduling techniques having adaptive control software for cutting room operations.
One of the most critical processes in the manufacturing industry involves resource scheduling. Optimized use of resources, especially in an automated environment can lead to enhanced productivity and reduced operational costs. For example, in manufacturing flexible goods such as apparel or inflatables, allocating available resources in a cutting room in an appropriate manner can optimize the utilization of resources and reduce the total manufacturing time.
Cutting rooms consist of tables on which to spread material. Spreaders are assigned to the tables, and automatic cutting equipment is also provided. Spreaders may either be manual laborers that place material upon the tables or automatic spreading equipment that spreads the fabric from large rolls and allows many layers or plies of material to be spread on the table with accurate alignment and without stretching the material so that the cut pieces do not contract. The number of plies varies and can sometimes reach over 150 layers. Tables can vary in length and support multiple spreads of material, at any given time. The cutting equipment is fed by multiple tables and moves on rails between the tables to perform the many cutting tasks.
In recent years, automation, especially in the form of computer software, has been introduced to enhance operational speed and accuracy. Automatic cutting equipment receives pattern data in a cut file, for example from a CAD system that directs a cutting knife to follow the contours of the patterns. This equipment provides greater accuracy than manual cuts and can cut much larger ply heights in order to allow operators to cut with more efficiency than work performed with manual cutting equipment. During cutting, the cutting machines are moved from table to table, but this movement should be minimized because of lengthy setup time. Cutting room managers thus must optimize several variables at once, including: the utilization of materials, tables, spreaders, cutters, and the labor to perform these tasks.
The cutting room receives new cut orders in addition to existing orders in work and in queue. A cut usually has different styles/sizes/colors with commonalities in material and spread method. A cut is typically comprised of multiple markers which are usually a paper representation on the pattern pieces, and within these markers are bundles that are lower quantity handling units of work. Further adding to the complexity are multi-component cuts which are actually subsets of a cut. For instance a cut of jackets will require the sub cuts of a body shell, lining, and insulation. All of the sub-cuts yields must be scheduled and match in order for all the required component parts to be available to make a complete garment.
Currently, cutting room managers generally rely on spreadsheets, emails, faxes and such, mostly manual, in order to determine that all resources are provided for and available to proceed with the cut. To perform scheduling, cutting room managers generally will use a white board to assign the next highest priority order to a table and spreading equipment. This is a very inefficient use of time and resources. In addition, other factors must be taken into consideration that further complicates the process. At the current cutting consumption rate and move time for all the existing work the manager must decide whether to wait until space becomes available or move the cutting equipment to another table where work is waiting. There are currently no tools or techniques to aid them in this process in determining real-time consumption rates. Thus, managers typically add excess resources to compensate. The resources are utilized, but in actuality create substantially more move and wait time than necessary.
Prior art software available is too generic and is not designed to handle all the input variables including, but not limited to, machine utilization, spreading methods, size and pattern combinations, ply height configurations, multi-component cut logistics, fabric shade and pattern matching, and bundle tracking requirements. Available prior art, unfortunately, does not provide for various inputs to be taken into account in a manner such that resources can be scheduled in an optimized manner using the real-time consumption rates of the resources.
Consequently, new and improved techniques are needed that can take various inputs relating to cutting operations and schedule available resources based on the total consumption rate of all available resources. In addition, it is desirous that as the jobs are queued and completed, real-time data should be used to calculate future jobs, changing the parameters on the fly in order to keep the efficiency of the manufacturing operations at the highest level available.
The shortcomings of the prior art are overcome and additional advantages are provided through the provision of a method and apparatus for scheduling optimized resources for cutting operations.
The innovation is configurable software that can model and optimize the complex variables of cutting operations across many industry segments. The software will perform an initialization step in which the system receives manufacturing orders from central systems, marker and cut file availability from the CAD system, material availability from the inventory control system, real-time machine performance, manual operation data (such as typed data fields or barcode scanning), and the consumption requirements and constraints of downstream manufacturing processes. This information is stored in a first memory location within the computer processor.
Subsequently, these inputs will be used by a job scheduling engine to calculate optimized equipment and resource utilization based on this plurality of performance metrics. The system will then establish a job queue based on the calculated optimal resource usage and availability.
As the manufacturing process proceeds, the scheduling engine will dynamically make changes to the initially calculated optimal job schedule by simulating the impact of multiple variables that indicate alterations made to the resource metrics as they are utilized. In order to do this, the system will obtain frequent updates of the status of actual orders and jobs in work, thereby allowing the software to recalculate consumption rates of orders in work and recalculate the optimal job schedule based on multiple-variable sorts of the manufacturing orders to establish operational queue priority.
The processor then stores and updates the calculated optimal job scheduling and resource queue priority in a second memory location that is accessible by the processor based on real-time resource usage. As subsequent tasks are scheduled, this data is accessed by the processor such that resources can continue to be optimally used by constantly fine tuning the optimal resource schedule within the system.
The use of this software is expected to result in a significant increase in cutting productivity, as measured by lower labor costs, greater machine utilization and greater throughput.
Additional features and advantages are realized through the techniques of the present invention. Other embodiments and aspects of the invention are described in detail herein and are considered a part of the claimed invention.
The subject matter which is regarded as the invention is particularly pointed out and distinctly claimed in the concluding portion of the specification. The invention, however, both as to organization and method of practice, together with further objects and advantages thereof, may best be understood by reference to the following description taken in connection with the accompanying drawings in which:
In accordance with an embodiment of the invention,
During the step indicated by 120, the information previously obtained during the initialization step 110 is stored in a first memory location. At this location, the data represents the initial information known about the system and its resources. The information stored can be retrieved at any time by one or more resource. In addition, each resource can selectively update, alter, or add to this information as appropriate at a later time.
At step 130, the processor uses a job scheduling engine to calculate the optimized use of one or more resources. These calculations will be based on the information that is obtained in 110 and stored in 120.
At step 140, the system will establish an operational resource queue priority. This is based on the optimal job scheduling of the resources that was calculated by the job scheduling engine in 130.
At step 150, changes may be made to the calculated optimal job scheduling. This would be based on any alterations that would be made by the processor and scheduling engine to the resource metrics.
The job scheduling/computing environment is shown as 115 in
At step 160, the processor would store and update the calculated optimal job scheduling and operational resource queue priority in a second memory location. This second memory location is also accessible by the processor such that the resources can be optimally scheduled by the scheduling engine by a continual fine tuning of optimal resource usage. These differing values that reside in the second memory location will be presented to the system through a feedback loop as shown in
The information that is stored in this memory location 203 will be read by the processor 236 in order to allow the scheduling engine 245 to calculate an optimized queue for utilization of resources 254, 257, 260, 263. The processor will also read data from a second memory location 221 after the process has run for some time. In this memory location job schedule data is stored as well as real-time resource metrics that are continually updated as the job scheduling engine 245 fine tunes the manufacturing process.
The processor 236 and scheduling engine 245 may reside in one computer as illustrated by the dotted box 248, but this is not a requirement as they may also be remote from one another. Regardless of the configuration, the processor 236 and scheduling engine 245 will exchange information. Tabulated data and consumption rates will be fed to the scheduling engine 245 via communication with the processor 236 along the communication channel 239. Also, communication of real-time process data is communicated along a channel 242 in the reverse direction. The reciprocal communications between the processor 236, scheduling engine 245, resources 254, 257, 260, 263, and the refined data in the second memory location 221 allows this software to provide efficient resource scheduling and fully utilize an adaptive control mechanism to provide the user with the most efficient job scheduling and order queues for the manufacturing operations.
Information will be provided external to the manufacturer's headquarters as shown in 330 via the internet 320 or through other alternative processing communication. External sites could include, but are not limited to, remote warehouses 305 where materials may be stored prior to use as well as contractor sites 310 and 315 that work in conjunction to provide resources to the manufacturer. Alternatively, data can be stored previously internal to the manufacturing plant with minimal processing needs.
Information will be gathered from the internet or other means as discussed and shown by 320 by the manufacturer through a firewall depicted by 325 in the system. At the manufacturer's headquarters or other such location as depicted in 330 various entities will be able to access the information. The manufacturer's headquarters 330 will house various departments that have interest in the data and will also provide inputs into the manufacturing process. At the local manufacturing plant 335, the system would compile the data that is required for optimum job scheduling. This data, received internally and externally to the plant 335 would be used to initialize the process 110 and would be stored in the first 203 or second 221 memory locations being accessed by the processor 236 and scheduling engine 245 at the manufacturing plant 335. It can be appreciated by those skilled in the art that
In this embodiment the system is controlling the resources required to cut and assemble material for a clothing manufacturer. In one example, the automatic cutting equipment 430 will receive pattern data from a computer processor that directs the cutting knife to follow the pattern contours in a precise manner. The scheduling engine 440, being used by processor 450, will control when this occurs based on the availability of the resources and the queue that has been established. Other resources are illustrated that relate to the preferred embodiment. These include spreaders 410, materials 420, spreading tables 460 and the labor force 470. The scheduling engine also takes into account the consumption requirements and constraints of downstream manufacturing processes 480 that will have an effect on determining the optimized scheduling of resources. The different elements depicted here can represent or be represented by nodes/processors of
Cutting Time Calculations—The “Total Cutting Time” will identify the amount of time the cutting equipment and operators will be committed for, and this value is a component of the “Total Direct Time” of each order. In this example a plurality of variables are selected and assigned from the system data. To aid understanding an exemplary table, Table 1, is created below. However, as can be appreciated by those skilled in the art, other information can be provided in alternative embodiments.
The following variables are assigned from the system data, 510:
The following additional derived variables can be calculated, 520:
These variables are used in the final calculation for total cutting time 530 and cutting consumption rate using the following equations:
(MCMT+MCMTS+MCT+MPMT+CST)/OEF=Total Cutting Time (TCT)
TCL/TCT=Cutting Consumption Rate for Cut (in linear inches per minute)
Where it is possible, for cut orders in work calculate the cutting consumption rate per marker section for the cut order and get notification from the automated cutting machine of time to begin cut of a section within the cut. This will allow the user to interactively fine tune the consumption rate for a particular cut.
Spreading Time Calculations—The “Total Spreading Time” will identify the amount of time the spreading table equipment and operators will be committed for and is required as a component of the “Total Direct Time.”
The following variables are assigned to the system data 540, as shown in Table 2:
The following additional variables can be calculated, 550:
These variables are used in the final calculation for total spread time 560 using the following equations:
(CST+MMT+MNT+MUT+SSA)/OEF=Minutes of Spread Set Up Time (XSST)
(MS+MT+MRT+MLT+MCT+MDT)/OEF=Minutes of Spreading Time (XST)
(XSST+XST)=Total Spreading Time (TST)
Total Direct Time—When two unscheduled orders have the same due date and priority code, the Total Direct Time will be used as a tie breaker in the scheduling engine to determine which of the cut orders will be scheduled first. The order with the greatest Total Direct Time will be scheduled first, to allow it the best opportunity to be completed by the due date. Total Direct Time is also used in the scheduling engine to estimate, when associated with other orders in a schedule, the “Remaining Time to Complete Cut.” From the above calculations and data the Total Direct Time 570 can be obtained by adding TST+TCT.
These types of relationships will be defined in various data tables but will include Factory Table, Work Center Table, Equipment Tables, Order Header, Order Detail, Component Detail, etc.
The scheduling engine will optimize key performance metrics in step 620 by iteratively simulating 630 the impact of multiple variables. The system will sort all unscheduled orders in step 640 by Required Date (ascending)/Order Priority Code (ascending)/Total Direct Time (descending). This yields a list of orders listed in sequence of importance for optimization. For each of the potential schedules, the processor will determine the Total Process Time in step 650. These values are based on the sequence in which orders fall in a tentative schedule.
For each order the system will calculate and update to each order the “Remaining Time to Complete Cut” in step 660. This value for a cut that is in-work at the cutting operation is dependent only on itself, and can be calculated as: (Current Time−Start Time of Cut)=Total Time in Cut (expressed in minutes). Total Cutting Time−Total Time in Cut=“Remaining Time to Complete Cut”
“Remaining Time to Complete Cut” for a cut that is in-work, at the spreading operation, is dependent on itself the order that is directly in front of it in the queue and can be calculated as: (Current Time−Start Time of Spread)=Total Time in Spread (expressed in minutes). (Total Spread Time−Total Time in Spread+the “Remaining Time to Complete Cut” of the order directly in front of it in the queue)=“Remaining Time to Complete Cut” of the current order.
The “Remaining Time to Complete Cut” for a cut that is not started work and is 4th in queue in a Work Group is equal to the sum of Cut Order 3's “Remaining Time to Complete Cut”+Cut Order 4's “Total Direct Time.”
That tentative schedule will be rated by the Total Process Time in step 670. (Total Process Time=the greatest “Remaining Time to Complete Cut” of any order in the schedule). Based on this performance metric (shortest Total Process Time) the “best” sequence of orders will be selected in step 680 as the production schedule.
At the completion of each operation for a cut order, a program will calculate the actual efficiency in step 720 for that Operation/Work Center/Model/Part Number/Operator ID. The Adaptive Scheduling Efficiency Factor table records for Level 1, 2, & 3 records will be created or updated.
The scheduling engine will override the Standard Operation Efficiency Factor (OEF) of each operation as depicted in step 730, first searching for a Level 3 (Work Center, Model & Part, and Operator) match as shown in step 740. If no match is found, then the scheduling engine will search for a Level 2 (Work Center, Model & Part) match as depicted in step 750. Again, if no match is found, then the scheduling engine will search for a Level 1 (Work Center) match in step 760. Once a match has been found then the factor for the highest level match will be used as in step 770. If none of these level criteria provide a match, the standard OEF will be used in step 780 by the system to produce a schedule queue.
These operations are intended to achieve two goals. First, to use actual operating results to improve the schedule. Second, when those resources are available, to ensure that the highest priority orders are assigned to the most efficient equipments and operators.
While the invention has been described in accordance with certain preferred embodiments thereof, those skilled in the art will understand the many modifications and enhancements which can be made thereto without departing from the true scope and spirit of the invention, which is limited only by the claims appended below.