The Job Shop Scheduling System

The system is a finite scheduler for discrete manufacturing plants. It plans each operation and resource to best schedule the entire factory. It can effectively handle and optimize complicated resource interactions and alternative resource options.


        Optimizes schedules based on order priorities and due dates.

Schedules time-dependent tasks, tooling, auxiliary resources, and other situations that require concurrent resource scheduling.

Supports minimum transfer quantity operation overlapping.

Effectively chooses among different resources, or split a single task across multiple resources.

Able to split a single task to use multiple non-continuous time intervals

Sequence-dependent setups are calculated by the system to optimize the conflicting goals of achieving maximum utilization of machines while meeting due dates.

Cost Based Scheduling

What is a good schedule? How can you tell if another schedule is better?

Rather than using approximate "rules of thumb" or other generic criteria, this system treats scheduling as a late cost optimization problem. Late costs are described by exponential functions. The rate of increase is based on the order priority. This provides a smooth increase as an order becomes more overdue. It also causes lateness to be more evenly distributed and insures that order priorities have the correct effect.

The scheduler is based on the concept that the best schedule is the one that minimizes total late costs.

For instance, if an order is one day late, the real impact might be minor. If the same order is five days late, the impact or cost of late delivery may be enormous.

Due-date costs reflect the importance of an order and the impact of lateness.

Late costs are calculated from an order’s priority. A critical replacement order would accumulate cost far more rapidly than an order being manufactured for stock, which typically has a lot of flexibility relative to the due date.

Future versions could consider other costs such as overtime, contractors costs, and alternate materials and manufacturing methods.

Factory Model

Resources include machines, tools, and personnel. Work groups define aggregate groups of resources, including other work groups. Operations can specify a work group rather than an individual resource. Each resource may have its own high resolution definition of capacity to reflect holidays, meetings, lunch, and overtime. The capacity definition tables allow complex shift arrangements like 4-3, weekend only operators, differing numbers of operators on shifts, and overtime to be easily modeled.

Setup Tables specify setup times for a resource, including full and partial setups.

Orders specify due date, priority, quantity, part identification

Operations: duration can be specified as any combination of fixed time, time per quantity, or time relative to another operation’s times. Setup time is calculated from the setup tables.

Precedents – in addition to the usual precedent-antecedent relationships, the system supports setup-start-to-start and run-start-to-start to handle situations where a resource is needed only during setup (such as a gauge) or only during the run portion of an operation. A minimum time can be specified before the antecedent starts (for instance, to allow cool-down time). A maximum time can also be specified (for instance, transferring a hot slug from a furnace to a forge hammer).

Standard Routings – a new order would typically specify a standard part identification to be manufactured. The standard routings are used to create the operations for that order.

Below are screen shots from the system. Click on an image to enlarge.

Orders Listing

Resource Gantt Chart

Task Scheduler

Scheduling Parameters