Forward Scheduling: What is it and how does it differ from backwards scheduling?

Simio is a forward scheduling simulation engine.  We do not support backwards scheduling.  We have found the backwards scheduling approach fails to represent reality, thus generating an infeasible plan that is unhelpful to planners.  Many of our customers have learned this lesson the hard way. 

The underlying principle of forward scheduling is feasibility first.  A schedule is built looking forwards considering all the constraints and conditions of the system (e.g., resource availability, inventory levels, work in progress, etc.).  The schedule is optimized in run time while only considering the set of feasible choices available at that time.  Decisions are made according to user specified dispatching rules (the same as backwards scheduling).  The output is a detailed schedule that reflects what is possible and tells the planner how to achieve it.  As in real life, a planner can only choose when to start an operation.  Completion date is an outcome, not a user specified input.

The most salient technical difference between the two approaches is material availability (both raw and intermediate manufactured materials).  A forward-looking schedule makes no assumptions.  If materials are available, a finished good can be produced.  Otherwise, it cannot.  If the materials must be ordered or manufactured, the system will order them or manufacture them before the finished good can start.  A backwards schedule plans the last operation first, assuming that materials will be available (*we have yet to find an environment where future inventory can be accurately forecast).  If the materials must be produced or purchased, it will try to schedule or order them prior, hoping that the start date isn’t yesterday.  If the clock is wound backwards from due date all the way to present time, the resulting schedule shows the planner what their current stockpile and on-order inventory would have to be to execute the idealized plan.  It does not tell the planner what they could do with their actual stockpile and on-order inventory. 

Next consider a situation where demand exceeds plant capacity (this is reality for most of our customers).  The plant cannot produce everything that the planner wants.  The planner must choose amongst the alternatives and face the tradeoffs.  Forward scheduling deals with this situation by continuing to schedule into the future, past the due date, showing the planner which orders will be late.  By adjusting the dispatching rules, priorities, and the release dates, the planner can improve the schedule until they reach a satisfactory alternative.  Every alternative is a valid choice and feasible for execution.  Backwards scheduling deals with this situation by continuing to schedule into the past, showing the planner which orders should have been produced yesterday.  The planner must tweak and adjust dispatching rules and due dates until finding a feasible alternative.  In our experience, the planner can make the best decision by comparing multiple feasible plans, rather than searching for a single one.

Any complete scheduling solution must also be capable of rescheduling.  Rescheduling can be triggered by any number of random events that occur daily.  In rescheduling, the output must respect work in progress.  Forward scheduling loads WIP first, making the resource unavailable until the WIP is complete.  Backwards scheduling loads WIP last, if at all.  Imagine building a weekly schedule backwards in time, hoping that the “ending” point exactly equals current plant WIP.  The result is often infeasible.

In terms of feasibility, the advantages of forward scheduling are clear.  But we also get questions about optimization, particularly around JIT delivery.  A quick Google search on forward scheduling reveals literature and blog posts that describe forward scheduling “As early as possible” (meaning a forward schedule starts an operation as soon as a resource is available, regardless of when the order is due).  This is false.  Forward scheduling manages the inventory of finished goods the same way the plant does.  A planner specifies a release date as a function of due date (or in some cases specifies individual release dates for each order).  In forward scheduling, no order is started prior to release date.  The power of this approach is experimentation.  Changing lead time is as easy as typing in a different integer and rescheduling.  As above, the result is a different feasible alternative which makes the tradeoff transparent.  Shorter lead times minimize inventory of finished goods but increase late deliveries and vice versa.  We have found many customers focus on short lead times based on financial goals rather than operational goals.  Inventory ties up cash.  Typically, the decision to focus on cash is made without quantifying the tradeoff.  We provide decision makers with clear cut differences between operational strategies so that they can choose based on complete information.

Forward scheduling is reality.  It properly represents material flows and constraints, plant capacity, and work in progress.  It manages the plant the same way a planner does.  Accordingly, it generates sets of feasible alternatives that quantify tradeoffs for planners and executive decision makers alike.  It answers the question “What should the plant do next?” as opposed to “What should the plant have done before?”  We’ve found the feasibility first approach is the most helpful to a planner and therefore the most valuable to a business.