<< Click to Display Table of Contents >>

How Finite Scheduling Works

Scheduling Terms Definitions

Before describing how the finite scheduling program works, you should first be acquainted with the following terms.

Scheduling Calendar

Finite scheduling works in conjunction with a scheduling calendar.  This calendar is generated for each company and allows you to specify which days of the week and which holidays are non-workdays.   The scheduling calendar assigns each day a sequential number and is normally generated for the next several years.  For example, Friday, November 8, 2013 might be assigned number 1101.  Your company does not work on Saturday or Sunday.  Monday, November 11, 2013, will therefore be assigned number 1102 (1101 + 1).  The scheduling calendar is generated through SM-H, Enter Shop Calendar.

Shop Date

The number assigned by the scheduling calendar to a particular work day.  In the above section, numbers 1101 and 1102 are shop dates.  Shop dates also have a decimal portion attached to them (such as 1101.0200) that indicates a specific time on that day.  The decimal portion multiplied by 100 gives the zero-based hour of that day, excluding breaks.

Start Date, Finish Date, Due Date

Each work order has a Start Date, Finish Date, and Due Date.   The Start Date is the earliest date that the work order can be started and is manually assigned/entered when the work order is created.  The Finish Date is calculated and assigned by the finite scheduling program.  The Due Date is manually assigned and represents the date the item is needed.  In the case of items that are on sales order, the Due Date is the sales order Estimated Ship Date. In the case of finished goods built for stock, the Due Date is manually entered or is assigned by the MRP program based on required dates of future sales orders and/or forecasts.  In the case of subassemblies that go into higher level work orders, the Due Date is normally the start date of the earliest work order for which it is needed.  Due dates can only be changed manually and are never changed by the finite scheduling program.  The opening list in the finite scheduling program presents a list of all work orders and allows editing the Due Dates to manipulate the critical ratio and therefore the scheduling priority.

Critical Ratio

The critical ratio is a calculation that is used to assign scheduling priority to each work order.  The calculation is as follows:

(Number of work days from today until the due date) / (Number of run days required to complete the work order)

Let's look at two examples.  Today is March 1 and our first work order has a due date of March 21.  The work order requires five run days to complete.  This work order’s critical ratio is  4.2 (21/5).  A second work order for the same item (also with five days run time) has an earlier due date of March 10.  Its critical ratio is 2.0 (10/5).  

Work orders are then scheduled in ascending order starting with the lowest critical ratio.  In our examples above, the work order with the critical ratio of 2.0 will be scheduled prior to the work order with the critical ratio of 4.2.

If the due date is prior to today, the critical ratio will be a negative number and is simply the number of days past due regardless of the number of run days needed to complete the work order.  Work orders with negative critical ratios have the lowest critical ratios and therefore get scheduled first, beginning with the biggest negative number.

Contention

Ideally, each sequence in a given work order will get a scheduled start date immediately after the previous sequence is completed.  However, other work orders with higher priority may already be scheduled for this next work center and thus the work order will have to wait its turn.   The difference in days between the ideal start date and the actual start date is called "Contention."  You can also think of contention as "waiting time."

Scheduling Units

Scheduling units are the hours required to complete a routing sequence, always rounded up to the next highest whole hour.  These units automatically get adjusted by the % Utilization value assigned to each work center in RO-C  Enter Work Centers.  For example, if the run time on a sequence is 5 hours and it takes place in a work center set with an 80% Utilization factor, the finite scheduling program will allocate 7 scheduling units to that sequence (6.25 rounded up to the nearest whole hour = 7 units).

Forward Overlap

The finite scheduling program currently supports the use of Forward Overlap, a feature used with routing sequences that is entered in RO-A  Enter Routings. Forward Overlap is entered in hours.  If you enter Forward Overlap in a routing sequence, it means that after the sequence is completed, the parts will not move on to the next sequence until after the number of Forward Overlap hours has expired.  A typical use of Forward Overlap would be to let paint dry before the parts can move on to another operation.

Backward Overlap

Backward Overlap is a feature used with routing sequences that is entered in RO-A, Enter Routings. Backward Overlap is entered in units of parts.  If you enter Backward Overlap in a routing sequence, it means that once the number of Backward Overlap parts has been produced in the current sequence, the next sequence can begin using the parts already produced, even though the current sequence is not yet completed.   Thus, multiple sequences can be in process simultaneously.

Buckets

A scheduling bucket refers to the available time in a given work center for each work day.  Each work center will have a bucket for each work day.  When the finite scheduling program fills one bucket, it then moves on to the next day's bucket.

Unlimited Capacity Work Centers

Some work centers are not subject to capacity restraints and will have everything scheduled to them without any contention.  All outside processing work centers fit this definition because the scheduling program has no control over outside vendors' capacity.  There may also be in-house work centers where capacity is essentially unlimited (an inspection department, for example).  To designate an in-house work center for unlimited capacity, set its Finite Scheduling? field to N in RO-C  Enter Work Centers.

Parent-Child Work Centers

It is common for work centers to be comprised of several identical machines or workstations, any one of which can be used interchangeably.  Rather than treat them as one work center, each machine or workstation should be set up as its own work center.  These will be known as child work centers.  A parent work center will be set up separately and represents all its children.  When setting up routings, you typically assign the sequence to the parent work center rather than a child work center (you can make an exception where a particular operation has to run on a specific child work center).  When the finite scheduling program goes to schedule a routing sequence assigned to a parent work center, it looks among its child work centers and schedules the sequence to the child with the lowest contention.    

If production has not yet begun on a child work center, the next time the finite scheduling program is run, it may re-assign the sequence to another child work center if it finds one with lower contention.  Once production begins, however, the sequence is permanently assigned to the child work center and won't be changed by the scheduling program.  When reporting labor in WO-F  Enter Labor, or WO-M  Batch Labor Entry or Data Collection, the program will automatically assign the sequence to the child work center most recently assigned by the scheduling program.

Finite Scheduling Program Operation

Finite scheduling is performed through SH-E  Finite Scheduling.  The program goes through four phases, described as follows.

Phase 1 ?Create Work Center Buckets

The program begins by creating a complete set of empty work center buckets.  One bucket is created for each day on the scheduling calendar.  The number of hours in the bucket is based on the work center's Total Hours/Day value as defined in RO-C  Enter Work Centers.  Buckets will be created for all work centers except the following.

Outside processing work centers.

Parent work centers.  The buckets for this type of work center are created at the Child work center level.

Work centers with the Finite Scheduling? field set to N.  The program assumes that these work centers have unlimited capacity.

Work centers with zero Total Hours/Day.  If you set a work center for zero hours, you most likely intend for that work center not to be used.  If however, a routing sequence is scheduled for that work center, the program will assume that the work center is available for eight hours per day and has unlimited capacity (meaning that there will be no contention with other work orders).

Work centers set with more than 24 Total Hours/Day.  The program does not support more than 24 hours in a work center and therefore, as a precautionary measure to prevent distorted results, buckets will not get created.

Phase 2 ?Load Existing Production & Calculate Critical Ratios

In phase 2 the program looks through the work order file for work orders with a status of Firmed or Released.  For each of these work orders the remaining run time is calculated and any routing sequences that are currently active are loaded into the appropriate work center buckets.  Next, the program calculates each work order's critical ratio and creates an entry in a temporary file that holds each work order and its critical ratio.  Work orders without routing sequences are also entered in this temporary file so that a warning message can be printed on the finite schedule report.  An opening list of this temporary file listing Work Orders in Critical Ratio order is presented so that Due Dates can be edited and Critical Ratios recalculated if desired.

Phase 3 ?Schedule the Work Orders

Using the temporary file as a control list, the program starts with the work order with the lowest critical ratio (highest priority).  Each routing sequence's start date is calculated and assigned to its work center at the first available time.  If the program cannot assign the desired start date, the difference between the desired date and actual start date (contention) is calculated and is stored in the work order routing.  The total amount of contention for the work order will be printed on the finite schedule report and the contention for each routing sequence can be viewed in SH-B  Manually Schedule Work Orders.

When the program encounters a routing sequence assigned to a parent work center, it looks among the child work centers and schedules it to the child with the lowest contention.  See Parent-Child Work Centers above for more details.

This process continues with each work order in ascending critical ratio order until all work orders have been scheduled.

Phase 4 ?Print the Finite Schedule Report

When scheduling is completed, you can print the finite schedule report or list it to the screen.  The report can be sorted by work order number or due date.  The report lists the work order number, item number, order quantity, critical ratio, due date, scheduled start date, scheduled finish date, remaining run days, number of days until due date, number of days late, and number of days contention.

How to Get Started with Finite Scheduling

NOTE: You must perform these steps exactly in the order indicated.

1. Run SCHUPD Program

If you've never used Routings, you can skip this step.  If you have  been using Routings and have existing work order data files, go to UT-A, Run a TAS Program, and run a program named SCHUPD (Enter SCHUPD in the Program Name field and press <Enter>).  SCHUPD will do the following things.

Sets the Finite Scheduling? field to Y in all work centers that are not outside processing work centers.

Sets the Parent? field to N in all work centers.

Enters a value in the Started Date field in the work order routing file for all routing sequences that have had labor transactions reported.

2. Generate a Scheduling Calendar

You must generate a scheduling calendar before you can run SH-E  Finite Scheduling.   This is done through SM-H  Enter Shop Calendar.  In SM-H you can mark which holidays, weekends, and any other pre-determined off times (such as plant shutdowns, vacation, etc.) are non-workdays.  We suggest you mark the calendar beginning at least six months prior to today and out into the future for five years or so.  You can change your calendar at any time should it be needed.

After marking your holidays and weekends, you can exit the program.  At that point you are asked whether you wish to generate the scheduling calendar or not.  If you are not done marking your holidays and weekends, you can answer no and return to the program later.  If you click Yes, the program will create the scheduling calendar.  This can take several minutes.

3. Review Work Center Setup

Go to RO-C  Enter Work Centers and make sure your work centers are set up correctly.  First, make sure that no work center has a value greater than 24 in the Total Hours/Day field.  Make sure that Total Hours/Day and Total Shift Hours have the same value.

Review Parent-Child Work Centers above and make sure you understand the concept.  If you already have work centers and routings entered, we suggest you convert your existing work centers into parent work centers (where applicable) and then set up the related child work centers.  If you do it this way you will not affect any of your routings and will not have to make any changes to them.  To change an existing work center to a parent work center, set its Parent? field to Y. When you create a child work center, set the Parent? field to N and in the Parent field enter the code for the parent work center to which this child belongs.

If you've never used Routings, you can skip the following steps.  If you have been using Routings and are using finite scheduling in conjunction with existing work order data, please continue.

4. Run SH-E to Identify 00/00/00 Due Dates

Work orders are now required (as part of the save routine) to have a valid Due Date.  The Due Date cannot be left blank.  There may be existing work orders, however, that were created before the Due Date was a required field.  These can easily be identified by running SH-E  Finite Scheduling and choosing D to sort the report by Due Date.  Any work orders with a Due Date of 00/00/00 will be listed at the top of the report.  Using the information on the report, go to WO-A  Enter Work Orders or the opening list of SH-E  Finite Scheduling and enter due dates for these work orders.

5. Run WO-K-F to Update All Completed Sequences

The finite scheduling program does not know when a routing sequence is completed until a Finished Date is entered in the work order routing upon completion of the sequence.  The current labor entry and purchase order receiving programs now ask you is this sequence now complete?" after you make entries.  There may be open work order routings, however, that were reported to before this prompt was added to the system and lack finished dates.  This will result in the scheduling program thinking that some sequences are uncompleted that actually are completed and will needlessly continue scheduling them.

Unfortunately, there is no automatic way for the system to accurately know whether or not each sequence is complete, so you must review your open work orders and manually enter finished dates against those sequences that are completed.  To do so, run SH-O  Finite Schedule Bucket Report, which will show you all open work orders for each work center.  You should see ?==>> Running<<===?in the Critical Ratio column for each routing sequence that has not yet been marked as completed.  You can then mark on the report those sequences which are completed.  We suggest using WO-L-A  Print Work Order Status as a good report to help determine which sequences are actually completed.

Using your SH-O report worksheet, enter finished dates for those sequences that are completed through WO-K-F  Edit Sequence Started/Finished Dates.  This program lets you enter the Work Order Number, Sequence, Started Date, and Finished Date.  It is not necessary to enter an accurate Finished Date; the finite scheduling program uses the existence of any date as being sufficient to consider the sequence completed.  For expediency purposes we recommend using today's date as the Finished Date.  If you find that a sequence has somehow been given a Started Date, but has not actually been started yet, enter 00/00/00 for both the started and finished dates.

Finally, you must enter started and finished dates for your outside processing operations.  If the sequence is still in process, it is important to enter an accurate Started Date.  If the sequence is completed, the accuracy of either date is not important and today's date can be used for expediency purposes.  You can get virtually all the information you need for these entries by running SH-I  Print Work Center Schedule for your outside processing work centers.  The PO Date column should be used for your Started Date entries.

How to Use Finite Scheduling

Once the system is set up (see the previous section), running the SH-E  Finite Scheduling program is simple once you are happy with the Critical Ratios of the work orders, the only question you must answer is whether you want the report sorted in Due Date order or by work order number.  You can run the program as often as you wish.  Each time it runs it will reschedule all your open work orders based on whatever conditions exist at the time it runs.

The Importance of the Due Date

The relationship between the Due Date and the scheduled Finish Date is the most important element of the scheduling process.  As long as the Finish Date is earlier than or equal to the Due Date, the work order is on time.  However, if the Finish Date is later than the Due Date, the work order will not be finished on time to either ship to customer(s) or for use in some higher level work order.  The # Days Late column on the finite scheduling report shows you which work orders are late and how many days they are late.

Be aware that the Due Date is manually maintained by you and that none of the above has any meaning if the Due Date is not accurate.  If estimated shipping dates for customers get changed, you must remember to change the work order Due Date.  If higher level work order Due Dates get changed, lower level work order Due Dates may also have to be changed (these will be identified by the MRP program with EXPEDITE or DELAY messages).

Scheduling Techniques

Once a work order is late you have several available options to remedy the problem.  The most common scheduling technique is to move due dates out.  If a work order is for a specific customer, this may involve notifying the customer that his order is being delayed.  If the items on the work order are needed for some higher level work order, you may have to move the Due Date out on the higher level work order.

Another scheduling technique is to leave the Due Date where it is on the work order in question, but move due dates out on other work orders that are contending for the same work centers capacity.  This is where the SH-O  Finite Schedule Bucket Report can be useful.  It shows the contention within each work center and can help you pinpoint bottlenecks.  Often a bottleneck is caused by one problem work order that can have its Due Date moved out to free up the work center for the other work orders.

Another scheduling technique is to expand your work center capacity where needed to iron out bottlenecks.  Often it is only a few work centers out of many that cause scheduling bottlenecks.  Using the Finite Schedule Bucket Report you can easily see which work centers have the most contention and can respond by adding more personnel to that work center or you can expand capacity by working overtime.  In some cases you may want to add another machine or even consider farming out some of the work, if possible.

 

Adjusting Scheduling Precision

Scheduling is only as precise as the accuracy of your routings.  Even with very accurate routings, manufacturing run times will always vary from production run to production run.  You will find with experience whether finite scheduling is resulting in realistically attainable schedules, or if it is scheduling too tightly with no contingency for unexpected disruptions to the schedule (such as machine breakdowns, emergency orders, lack of material, etc.).

You can loosen up your scheduling by adjusting the % Utilization field in each of your work centers through RO-C  Enter Work Centers.  You can automatically expand by a percentage the time allocated for all sequences that are performed in a work center by entering a value in this field.  For example, if the run time on a sequence is 5 hours and the % Utilization is set for 80%, the finite scheduling program will allocate 7 hours for completion of that sequence (6.25 hours rounded up to the nearest whole hour = 7 hours).

The nice thing about the work center % Utilization is that it is work center specific rather than a single factor that applies to the entire factory.  This allows you to schedule more loosely in your more unpredictable work centers, yet continue to schedule tightly elsewhere.

Always Update Routings as Part of Work Order Close

With finite scheduling accurate routings are extremely important.  Whenever you close a work order (through WO-I  Enter Finished Production or WO-J  Close/Cancel Orders), you should review work order performance and see if any of your routing sequences should be adjusted so that they will be more accurate the next time the item is run again.  A good report to review is JC-A  Print Job Cost Report, which compares work order estimated costs with actual costs.  Another good report, ideal for setting parts-per-hour standards, is JC-H  Print Work Order History, which lets you compare previous production runs at the routing sequence level.

Scheduling Works Hand-in-Hand with MRP

Scheduling works hand-in-hand with the Material Requirements, especially if you have products with multiple levels in their bills of material.  Every time you reschedule your work orders, those changes may affect other purchase orders or work orders that are interdependent upon each other.  These changes may trigger the MR-F  Generate Material Requirements program to produce various EXPEDITE and DELAY messages to advise you of situations where material won't arrive when needed or arrives too early due to scheduling changes you've made.

Be aware that finite scheduling only schedules work orders.  Purchase orders, which must be synchronized with work orders to see that material arrives when needed, are scheduled solely by MR-F, Generate Material Requirements.  So in most situations finite scheduling and MRP will both be utilized, except for companies with single level products and simple material requirements (such as some machine shops, for example).

Typically you will evolve into a cycle of using finite scheduling and MRP together.  You will run the finite scheduling program, make some basic changes to due dates, then run MRP to see the effect of those changes on other orders.  MRP will suggest further scheduling changes, which will result in changes to due dates that in turn change the schedule the next time finite scheduling is run.

Finite scheduling is not completely automatic and requires human intervention and judgment to work properly.  Due dates, which affect priorities and keep interdependent work orders and purchase orders synchronized with one another, can only be changed manually.  There is no one right way to use finite scheduling and MRP.  A variety of tools are at your disposal and, with practice, you will learn the techniques that best fit your company.

Programs Used with Finite Scheduling

The following are the programs that are most commonly used in conjunction with finite scheduling.

SM-H  Enter Shop Calendar

Use this program to initially set up your scheduling calendar and to re-create your scheduling calendar should any changes be made to the weekends or holidays that you have marked as non-workdays.

RO-C  Enter Work Centers

Use this program to initially set up your work centers and to change the Total Hours/Day field whenever the work center capacity changes.  You can also change work center parameters at any time through SH-C  Manually Schedule Work Centers.

WO-A  Enter Work Orders

You can use this program to change the work order Quantity to Make, scheduled Start Date, or Due Date.  Do not change the scheduled Finish Date; this date changes whenever finite scheduling is run.

WO-F  Enter Labor

When making the first entry to a routing sequence, this program makes an entry in the Started Date field in the work order routing.  The last field in this program asks s this sequence now complete?  If you enter Y, an entry is made to the Finished Date field in the work order routing that prevents any further scheduling of this sequence.  You can also use this program to re-assign the scheduled child work center to one of the other child work centers if you haven¡¦t yet posted labor to the sequence.  

DC-A  Enter Labor/Production

When making the first entry to a routing sequence, this program makes an entry in the Started Date field in the work order routing.  This lets the finite scheduling program know that production has started on this sequence.  When reporting labor this program will ask whether the routing sequence is completed.  If answered yes, the program establishes a Finished Date in the work order routing that prevents any further scheduling of this sequence.

WO-K-F  Edit Sequence Started/Finished Dates

If you have any entries in WO-F or DC-A (see above) that did not receive a Finished Date due to failure to answer Y to the s this sequence now complete? prompt when the sequence was completed, this program lets you enter the Finished Date after-the-fact so that the finite scheduling program will no longer attempt to schedule the sequence.

PO-A  Enter Purchase Orders

When you create a service order for an outside processing sequence, an entry is made in the Started Date field for that sequence in the work order routing.

PO-C  Receive Purchase Orders

When you receive outside processing items on a service order, you are asked if the outside processing routing sequence is completed.  If you answer yes, the program establishes a Finished Date in the work order routing that prevents any further scheduling of this sequence.

SH-A  Edit WO Start/Finish/Due Dates

Use this program to make changes to work orders' scheduled Start Date or Due Date.  This is an alternative to using WO-A, Enter Work Orders, for the same purpose.

SH-B  Manually Schedule Work Orders

Much like SH-A (see above), you can use this program to make changes to work orders' scheduled Start Date or Due Date.  This is another alternative to using WO-A, Enter Work Orders, for the same purpose.  This program also serves as an inquiry into the status of work order routing sequences.

SH-C  Manually Schedule Work Centers

You can use this program as an alternative to RO-C, Enter Work Centers, for changing work center parameters such as Total Hours/Day.

SH-E  Finite Scheduling

This is the finite scheduling program.  See the Finite Scheduling Program Operation section above for details.

SH-G  Print Work Order Schedule

This is an alternative to the finite scheduling report that is produced by SH-E, Finite Scheduling.   It provides a listing of all your open work orders sorted either by scheduled Start Date or scheduled Finish Date.

SH-H  Print Work Order Status

This report can be used to see the status of each work order, broken out by its routing sequences.  You can see which sequences are late and how many days late they are.

SH-I  Print Work Center Schedule

This report is most typically used as a daily dispatch report by the shop foreman as guide to which work orders are to be worked on next within each work center.  

 

SH-O  Finite Schedule Bucket Report

This report is used to analyze the current load on each work center.  Listed are all open work orders and the number of days contention associated with each, as well as the total contention for the work center.

MR-F  Generate Material Requirements

This program takes the current work order schedule (as generated by SH-E, Finite Scheduling) and produces various EXPEDITE and DELAY messages to advise you of situations where material won't arrive when needed or arrives too early due to scheduling changes you've made.  The program also suggests new work orders and purchase orders that may be needed.

MR-H  Print Order Action Report

This report can be used to get listings of the EXPEDITE and DELAY recommendations made by MR-F, Generate Material Requirements, that you can use to change work order due dates accordingly.