Вы находитесь на странице: 1из 14

Backward Scheduling An

effective way of scheduling


Warehouse activities
Traditionally, scheduling algorithms were used in capital
intensive production processes where there was a need to
optimize the production because the plant capacity was
constrained and there were different lines of products vying
for the same manufacturing plant resources.
With warehouse operations getting more complex and
automated over the years, a similar need is felt to schedule
some of the warehouse jobs using these algorithms to
optimize the use of resources such as cranes, conveyors,
labelers and pickers deployed in the warehouse to
maximize the throughput.
This paper describes the approach of one of the scheduling
al gor i t hms cal l ed Backwar d Schedul i ng, i t s
implementation in scheduling picking operations in
Warehouse and the advantages realized by using this
approach
1
Backward Scheduling An effective way of scheduling Warehouse activities
About the Author
Tarun Chugh
He is an IT specialist with Tata Consultancy Services for the
last 8 years and has an overall experience of over 10 years.
His technological forte has been IBM iSeries (AS/400) based
technologies. He has extensive experience in architecting
solutions in different domains such as Banking, Retail,
Insurance and Manufacturing. He is currently working on a
project which involves design and development of
processes for automation of warehouse operations of a US
based Fortune 500 retail organization. He holds a Bachelors
degree in Engineering and a Masters degree in Business
Administration.
2
About the Domain
Retail and Distribution domain within TCS provides
solutions in Consulting, Package Implementation, Business
Process Outsourcing (BPO) and Infrastructure Services (IS) to
leading retailers and manufacturers around the world. Over
the years, solutions provided by TCS consultants in Retail
and Distribution domain have helped retailers win
customers and ensure success.
Backward Scheduling An effective way of scheduling Warehouse activities
3
Table of Contents
1. Introduction 4
2. Types Of Scheduling Algorithms 4
3. What Is Backward Scheduling? 5
4. Using Backward Scheduling In Warehouse Operations 5
How Backward Scheduling Is Done? 5
Preparatory Steps 5
Backward Scheduling Algorithm Steps 6
5. Variants Of Backward Scheduling 11
6. Advantages Of Using Backward Scheduling 11
7. Conclusion 12
8. References 12
Backward Scheduling An effective way of scheduling Warehouse activities
Introduction
Types of Scheduling Algorithms

To schedule and release orders for picking, warehouses generally use a concept of Wave Planning. In Wave
planning, the full day's picking load is calculated a day in advance and then is spread across different Waves or
Batches. Individual waves are then released and processed sequentially with a fixed time schedule, during which
picking takes place in different pick areas of the warehouse.
The disadvantage of using this Wave concept is that since the waves are processed sequentially, a new wave is
released only when picking planned in a previous wave has finished. This means that a picking delay in one area will
make the areas that have finished their picking job out of work as picking for next wave cannot be started. Moreover,
since the wave release time is not dependent on the release time of the truck carrying goods to customer, delays are
likely to be caused in loading the truck and releasing it from warehouse for delivery to stores and customers. This
delay in addition to causing customer dissatisfaction also leads to blocking of the warehouse dock door, costly
loading equipments and paying heavy penalties to transport companies for delays in releasing the truck beyond the
agreed time.
In order to overcome these shortcomings of Wave Planning for scheduling order release and picking, scheduling
algorithms can be used.
Cycle time, throughput and effective utilization of equipments are important factors to be considered while
planning and scheduling warehouse picking operations. The triple constraints need to be balanced in order to
reduce cycle time and improve throughput and equipment utilization. Given the limited number of resources and
complex warehouse operations, it is difficult to plan and schedule warehouse picking operations in order to achieve
these objectives.
Scheduling of picking operations should be done so as to avoid peaks and ensure adequacy of work in each area to
minimize idle time. A lot of research has gone into developing algorithms and heuristics for scheduling and
planning. However, there is not any one algorithm that is best suited for all the scenarios. The warehouse operations
management needs to identify the best scheduling algorithm that fits their requirement and then customize and
fine tune it based on the operations involved in their warehouse.
Most commonly used algorithms for scheduling order dispatch or releases are:
Forward Scheduling
Backward Scheduling
Bottleneck Scheduling
Shortest Processing Time Scheduling
One such scheduling technique, Backward Scheduling, is commonly used to schedule warehouse operations and
is discussed in detail, along with its steps, advantages, applicability and methodology, in the subsequent sections of
this paper.
4
Backward Scheduling An effective way of scheduling Warehouse activities
5
What is Backward Scheduling?
Using Backward Scheduling in Warehouse Operations
The concept of starting from the goal state and moving backwards to determine the path to get to the goal has been
used for many years in fields such as artificial intelligence and operations research. This approach of scheduling is
known as Backward Scheduling.
Backward Scheduling refers to the process of scheduling the activities by commencing with the deadlines or latest
possible finish date and time of activities and working backwards in reverse order of time, ultimately revealing the
latest possible start date and time.
This technique allows potential bottlenecks, resource requirements and resource availability for a particular job to
be identified in advance.
Warehouses receive orders from multiple stores or customers in a day. Planning is done for picking and
replenishment activities to be carried out, transportation required for delivery to customers or stores and the date
and time of the release of trucks for delivery to customers or stores.
Once the release times of the trucks and the orders they would be carrying are known, backward scheduling can be
used to find out when the orders need to be released for picking, given the available resources for picking in different
pick areas, so as to meet the deadline of release time of the truck from the warehouse. Thus, the latest possible start
time to start an activity is calculated. A job control or release system then constantly monitors the scheduled jobs
and once the current time becomes equal to or more than the latest possible start time of an activity, it will release
the order for that activity.
How is Backward Scheduling done?
There are some prerequisites for carrying out scheduling using Backward Scheduling algorithm. Before carrying out
scheduling, planning should be done to identify what all items are to be picked, their quantities and the pick area or
module from which they are to be picked.
Route planning also needs to be carried out beforehand to find out how many trucks would be required for carrying
out shipping, assigning shipments to these trucks, determining loading sequence and release time of trucks from
the warehouse.
Once the above planning is done, scheduling can be carried out to determine the latest possible start and end times
of activities required for carrying out picking and shipping. The steps required for carrying out scheduling can be
further divided into Preparatory and Algorithm steps. These steps are detailed with the help of some simple
examples in the following sections.
Step1: Group the customer or store orders to form Task Groups
Group the order lines for a particular store or customer that are to be shipped on the same truck based on the area or
module from which they are to be picked. Each such group formed is assigned a Task Group ID.
Preparatory Steps
Backward Scheduling An effective way of scheduling Warehouse activities
Example: If for a particular store, 100 cases are to be picked from Full Case picking module and all these 100 cases are
to be shipped on the same truck, then these 100 cases would be grouped together and assigned one Task Group ID,
that is, these 100 cases will be picked and moved under one movement task. Picking of these 100 cases from Full Case
picking Module will form one movement task.
Step 2: Subdivide the Task Group into activities
A movement task is further subdivided into activities which need to be carried out to complete the movement task.
Example: As shown in the above example, let us say that the task is divided into two activities:
Activity 1: Picking 100 cases from Full Case picking module
Activity 2: Moving the picked cases from picking module to shipping dock
Step 3: Divide the available shift hours into timeslots.
Once the above activity has been carried out, planning needs to be done to schedule these tasks and activities and
assign a start and end time to each of these activities. For this, the available shift hours in a day are divided into
timeslots.
Example: If the shift lasts for 8 hours, dividing these 8 hours into time slots of 15 minutes each will result in 32 time
slots. Each area or module in which some activity has to take place will have 32 time slots of 15 minutes each. If the
shift starts at 7:00 PM in the evening and ends at 3:00 AM in the morning, we will have timeslots like:
Timeslot 1 7:00 PM to 7:15 PM
Timeslot 2 7:15 PM to 7:30 PM
Timeslot 3 7:30 PM to 7:45 PM

Timeslot 31 2:30 AM to 2:45 AM


Timeslot 32 2:45 AM to 3:00 AM
Step 1: Allocating Task Group activities to Timeslot buckets using Backward Scheduling Algorithm
Once the preparatory steps have been carried out, the next step is to assign Task Group activities to these timeslot
buckets of a module using the Backward Scheduling algorithm, based on the availability of resources in the module
in each timeslot.
Backward Scheduling Algorithm Steps
6

Timeslots
7
:
0
0

P
M
7
:
1
5

P
M
7
:
3
0

P
M
7
:
4
5

P
M
8
:
0
0

P
M
8
:
1
5

P
M
8
:
3
0

P
M
8
:
4
5

P
M
9
:
0
0

P
M
9
:
1
5

P
M
9
:
3
0

P
M
9
:
4
5

P
M
1
0
:
0
0

P
M
1
0
:
1
5

P
M
1
0
:
3
0

P
M
1
0
:
4
5

P
M
1
1
:
0
0

P
M
1
1
:
1
5

P
M
1
1
:
3
0

P
M
1
1
:
4
5

P
M
1
2
:
0
0

A
M
1
2
:
1
5

A
M
1
2
:
3
0

A
M
1
2
:
4
5

A
M
1
:
0
0

A
M
1
:
1
5

A
M
1
:
3
0

A
M
1
:
4
5

A
M
2
:
0
0

A
M
2
:
1
5

A
M
2
:
3
0

A
M
2
:
4
5

A
M
3
:
0
0

A
M
Figure 1: Division of Shift hours into timeslots
Backward Scheduling An effective way of scheduling Warehouse activities
Backward Scheduling algorithm tries to schedule all the activities as late as possible by assuming that any activitys
finishing time is the end of some timeslot. It starts allocating the activities into timeslots, starting from the last
timeslot. An activity is allowed to go over more than one timeslot, in which case the start time of the activity is set to
the start time of the previous timeslot.
An attempt is made to fully utilize the available resources in a given timeslot before the previous timeslot is
considered. If any activity crosses over to the previous timeslot, algorithm calculates the remaining resource
availability in the previous timeslot, based on the utilization there. Essentially, all the resources are either overloaded
or filled up to full capacity from the shift end time, before it tries to fill up the earlier one.
The algorithm starts with the activity which is last in sequence of the activity list of a Task Group and schedules it first.
The next higher activity is then scheduled once the latest possible start time of its successor activity has been
determined.
Example: Continuing with the previous example of picking 100 cases from Full Case picking module, we had
identified the activities as:
Activity 1: Picking 100 cases from Full Case Picking Module
Activity 2: Moving the picked cases from picking module to shipping dock
The backward scheduling algorithm will schedule the Activity 2 first and once the latest possible start time of
Activity 2 is known, it will take it as a baseline and schedule Activity 1, which is picking of 100 cases. Basically, the idea
is that start time of Activity 2 should be as close as possible to the end time of Activity 1.
The backward scheduling process of allocating activities to timeslot buckets is explained with the help of examples.
Let us say that we have to schedule picking activities for a particular day in a warehouse. For doing this, following
steps need to be taken assuming that Task Groups have already been formed, activities identified and shift hours
divided into appropriate timeslots as discussed in previous steps:
1. Calculate Resource Availability in terms of picks / hour, cases / hour, order lines / hour etc. for a module e.g. we
define the available picking capacity as 100 cases / hour from the
Full Case Picking area and for movement of picked cases from Full
Case Picking area to shipping dock as 50 cases / hour.
2. Arrange the task groups in ascending order of the truck release
time from the warehouse, that is, the task group that has the truck
leaving earliest is given a rank of 1 and so on and so forth.
For example, from the above table it is now known that the cases picked in Task Group Id 100 are supposed to
leave on a truck leaving at 1:00 AM (which is the first truck leaving the warehouse)
3. Next, the activities that comprise the Task Group Id 100 need to be scheduled first and assigned a timeslot. For
example let us say that the Task Group Id 100 contains the following activities:
7

Task Group Id Truck Release Time
100 1:00 AM
55 1:30 AM
40 2:30 AM
102 3:00 AM
134 4:00 AM
Table 1: Task Groups arranged in ascending
order of Truck Release Time
Table 2: Task Group Activities
Task Group Id Activity Id Activity Description Scheduling
Direction
100 1 Picking 100 cases from Full
Case Picking Module
100 2 Moving picked cases to
Shipping Dock


Backward Scheduling An effective way of scheduling Warehouse activities
8
4. Backward scheduling will start with the activity that is last in sequence in the activity list for a task group and
assigns that activity to the timeslot, which is nearest to the truck release time. The algorithm then assigns the end
time of the activity as the end time of the timeslot that is closest to the truck release time. Continuing with our
above example, the activity end time of activity Moving picked cases to Shipping Dock will be set as 12:45 AM as
the timeslot closest to truck release time of 1:00 AM is the Timeslot 23 - 12:30 AM to 12:45 AM.
5. Now, the algorithm works backwards from the last assigned timeslot to find out what all previous timeslots will
be used for carrying out this activity and determines the latest possible start time of this activity. It will take into
account the available capacity or resources in each timeslot in that module for making the calculations. In step 1
we had defined the available capacity to move the picked cases from Full Case Picking Module to Shipping Dock
as 50 cases / hour. As we have timeslots of 15 minutes each, the available capacity in each timeslot will be 50/4 =
12.5 cases / timeslot. Since we have to move 100 cases for our example activity, we will hit a resource utilization of
100% per timeslot when we move 12.5 cases in a timeslot. Going by this, we will need 8 (=100/12.5) timeslots
(timeslots 23, 22, 21, 20, 19, 18, 17 and 16) for completing our movement. Thus, the latest possible start time of
the activity is assigned as the start time of the first timeslot which will be used to carry out movement of picked
cases. In this case it would be start time of timeslot 16 which is 10:45 PM.
6. Once last activity has been scheduled, the algorithm will pick up the predecessor activity to the one that has
been scheduled. The algorithm will assign the end time of the predecessor activity as the end time of the timeslot
with available resources that is closest to the end time of successor activity.
Continuing with our above example, the activity end time of Activity 1, Picking 100 cases from Full Case Picking
Module will be set as 10:45 PM as the timeslot with available resources, closest to the activity end time of
successor activity of 10:45 PM is the Timeslot 15 - 10:30 PM to 10:45 PM.
Table 3: Activity End Time assigned to last activity in a Task Group
Task Group Id Activity Id Acti vity Description Activity End time
100 2
Moving picked cases to
Shipping Dock
12:45 AM

Table 4: Latest Possible Start Time assigned to last activity in a Task Group
Task Group Id Activity Id Activity Descri ption
Latest
Possible
Start ti me
Activity
End time
Activity
Duration
100 2
Moving picked cases
to Shipping Dock
10:45 PM 12: 45 AM
120
minutes

Table 5: Activity End Time assigned to the predecessor activity in a Task Group
Task Group Id Activity Id Activity Description Latest
Possi ble
Start time
Acti vi ty
End time
Acti vity
Duration
100 1 Picking 100 cases
from Full Case Picking
Module
- 10: 45 PM -
100 2 Moving picked cases
to Shipping Dock
10:45 PM 12:45 AM 120
minutes

Backward Scheduling An effective way of scheduling Warehouse activities

Resource Utilization across Timeslots for moving Picked Cases to
Shipping Dock
1
0
0
%
1
0
0
%
1
0
0
%
1
0
0
%
1
0
0
%
1
0
0
%
1
0
0
%
1
0
0
%
0%
10%
20%
30%
40%
50%
60%
70%
80%
90%
100%
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32
Timeslots
%

R
e
s
o
u
r
c
e

U
t
i
l
i
z
a
t
i
o
n
7. Assign the latest possible start time to the predecessor activity by following the same method of checking
availability of resources in that module.
We had earlier defined the available capacity to pick the cases from Full Case Picking Module as 100 cases / hour.
Since we have timeslots of 15 minutes each, the available picking capacity in each timeslot will be 100/4 = 25
cases / timeslot. As we have to pick 100 cases for our example activity, we will hit a resource utilization of 100% in
a timeslot when we pick 25 cases in it. Going backwards from timeslot 15, we will need 4 timeslots (=100/25)
(timeslots 15, 14, 13 and 12) for completing our picking activity. Thus, the latest possible start time of the activity
is assigned as the start time of the first time slot which will be used to carry out picking. In our example it would
be start time of timeslot 12 which is 9:45 PM
Following is the graphical representation of the distribution of resource utilization across different timeslots for the
modules involved in the above activities:
9
Table 6: Latest Possible Start Time assigned to the predecessor activity in a Task Group
Task Group Id Activity Id Activity Description Latest
Possible
Start time
Activity End
time
Activity
Durati on
100 1 Picking 100 cases
from Full Case Picking
Module
9:45 PM 10:45 PM 60
minutes
100 2 Moving picked cases
to Shipping Dock
10:45 PM 12:45 AM 120
minutes

Figure 2: Resource Utilization spread across multiple timeslots for movement activity

1:00 AM.
Release time of
the truck from
warehouse


Direction in
which
scheduling
takes place

Backward Scheduling An effective way of scheduling Warehouse activities
10

Figure 3: Resource Utilization in Full Case picking module across multiple timeslots for picking activity
Resource Utilization across Timeslots for Picking Cases from Full Case Picking Module
1
0
0
%
1
0
0
%
1
0
0
%
1
0
0
%
0%
10%
20%
30%
40%
50%
60%
70%
80%
90%
100%
1 2 3 4 5 6 7 8 9 1011121314151617181920212223242526272829303132
Timeslots
%

R
e
s
o
u
r
c
e

U
t
i
l
i
z
a
t
i
o
n
8. Once all the activities for a Task Group have been scheduled, the algorithm will pick the next Task Group in the list
and try to schedule its activities. This process will continue till all the Task Group activities have been scheduled.
9. Timeslots that have already been scheduled and reached 100% resource utilization will not be considered. The
scheduler in that case will work backward till it finds a timeslot which has not reached 100% resource utilization.
As an example of this case, let us say that resource utilization in a timeslot for picking module is 60% when one
activity belonging to a task group was fully scheduled. This means that there is still 40% resource availability in
that timeslot. While scheduling another picking activity belonging to a different task group, the scheduler will
schedule some work in that timeslot so as to make the resource utilization to 100% before moving on to the
previous timeslot. Translating this % into figures, 40% of resource availability in a timeslot means that we still
have a capacity to pick 10 more cases in that timeslot (as we have a capacity of picking 25 cases / timeslot, this
translates to 40% of 25 i.e. 10 cases). Now, say as a part of another picking activity, we have to pick 50 cases. The
scheduler in this case will first utilize the timeslot with available capacity. That is 10 picks out of 50 will be made in
that timeslot and the remaining 40 will be scheduled in the previous timeslots.

Resource Utilization across Timeslots - Utilizing Timeslots with available capacity
6
0
%
1
0
0
%
1
0
0
%
1
0
0
%
6
0
%
1
0
0
%
4
0
%
0%
10%
20%
30%
40%
50%
60%
70%
80%
90%
100%
1 2 3 4 5 6 7 8 9 1011 1213 14 1516 1718 19 2021 2223 24 2526 2728 29 3031 32
Timeslots
R
e
s
o
u
r
c
e

U
t
i
l
i
z
a
t
i
o
n
Figure 4: Resource Utilization in Full Case picking module by utilizing timeslots with available capacity

Direction in
which scheduling
takes place
Direction in
which scheduling
takes place
Backward Scheduling An effective way of scheduling Warehouse activities
11
Once all the activities belonging to different task groups have been scheduled, we will have a schedule that is
compliant to Backward Scheduling. The activities would be starting as late as possible so that each activity is
performed only when it is required to and at the same time it does not delay the release time of the truck from the
warehouse.
A similar schedule can be prepared for replenishment activities as well, in case pick faces are to be replenished from
back up or reserve locations before picking has to take place. In case of replenishment activity, the latest possible
end time will depend on the latest possible start time of the picking activity and rest of the scheduling steps will be
similar to the ones carried out for scheduling picking and shipping activities.
Additionally, once the schedule using Backward Scheduling algorithm has been prepared, the activities which
violate truck release times can be identified. Additional resources can then be assigned to those activities and
another iteration of scheduling can be performed in order to meet the truck release deadlines.
The Backward Scheduling performed above will result in a schedule which is compliant to beginning the activities
As late as possible. However, in order to make the schedule more robust and compliant to As soon as possible also
and also to reduce any possible idle time of resources in the schedule, a Forward Pass step can be performed after
the Backward Scheduling. The basic concept of Forward Pass is that it will start from the first timeslot and try to Pull
the tasks in the next timeslot till the resources get loaded to 100%. This process is repeated till the last timeslot. These
steps will not affect the truck release times and will reduce the idle time.
In addition, to improve the quality of the solution, iterations can be performed on the schedule to fine tune it as per
the requirement.
The kind of passes or iterations required on the schedule will depend on the business requirements in the
warehouse. For example, a warehouse with picking from multiple modules in the same tote or bin will require
slightly modified scheduling for arriving at a quality scheduling solution.
Backward Scheduling algorithm:
Tries to meet the truck release times and create a schedule that is fully driven by the truck release times, thus
minimizing the chances of delaying the truck for delivery to stores or customers.
Ensures high level of resource utilization.
Takes resource constraints and bottlenecks into account while scheduling.
Lowers equipment handling costs as equipments are not used until they have to be.
Reduces exposure to risk in case of schedule changes or in case of new orders coming in.
Suggests if additional resources are required in an area depending upon the activity load in a particular day.
Variants of Backward Scheduling
Advantages of using Backward Scheduling
Backward Scheduling An effective way of scheduling Warehouse activities
12
Conclusion
References
From the above discussion it becomes clear that the scheduling algorithms have a clear cut advantage over
scheduling activities in a warehouse using the traditional way of Wave Planning. However, the choice of scheduling
algorithm and its variant will greatly depend upon the nature and complexity of operations in the warehouse.
Backward Scheduling algorithm that is generally used in manufacturing operations can be applied for scheduling
activities in the warehouse as well. This results in improved resource utilization and also takes into account the
release time of truck from the warehouse. A schedule prepared using the backward scheduling algorithm minimizes
the risk of not being able to meet the deadline of delivery to stores or customers.
Carrying out scheduling using Backward Scheduling algorithm is an iterative process. The scheduling process needs
to be run iteratively after assigning additional resources or in case new orders come in after scheduling has been
carried out, to arrive at an optimum schedule solution.
[1] Jain, Sanjay and Chan, Stephen, [1997], EXPERIENCES WITH BACKWARD SIMULATION BASED APPROACH FOR LOT
RELEASE PLANNING, Gintic Institute of Manufacturing Technology, Singapore.
Backward Scheduling An effective way of scheduling Warehouse activities
retail.solutions@tcs.com
All content / information present here is the exclusive property of Tata Consultancy Services Limited
(TCS). The content / information contained here is correct at the time of publishing.
No material from here may be copied, modified, reproduced, republished, uploaded, transmitted,
posted or distributed in any form without prior written permission from TCS. Unauthorized use of the
content / information appearing here may violate copyright, trademark and other applicable laws, and
could result in criminal or civil penalties.
Copyright 2009 Tata Consultancy Services Limited
www.tcs.com
About Tata Consultancy Services (TCS)
Tata Consultancy Services is an IT services, business solutions and
outsourcing organization that delivers real results to global
businesses, ensuring a level of certainty no other firm can match. TCS
offers a consulting-led, integrated portfolio of IT and IT-enabled
services delivered through its unique Global Network Delivery
TM
Model , recognized as the benchmark of excellence in software
development.
A part of the Tata Group, Indias largest industrial conglomerate,
TCS has over 143,000 of the world's best trained IT consultants in
42 countries. The company generated consolidated revenues of
US $6 billion for fiscal year ended 31 March 2009 and is listed on
the National Stock Exchange and Bombay Stock Exchange in India.
For more information, visit us at www.tcs.com
Subscribe to TCS White Papers
TCS.com RSS: http://www.tcs.com/rss_feeds/Pages/feed.aspx?f=w
Feedburner: http://feeds2.feedburner.com/tcswhitepapers
About Retail and Consumer Packaged
Goods Practice
TCS has a dedicated CPG Practice that is equipped with extensive
domain, technology and delivery expertise and experience. We
work with CPG customers across the globe to provide solutions and
services that address their challenges, help them optimize business
performance, facilitate alignment of business with technology,
reduce cost, improve margins and provide competitive advantage

Вам также может понравиться