# Production Planning & Scheduling in Large Corporations

```Production Planning &amp; Scheduling
in Large Corporations
Dealing with the Problem Complexity
through Decomposition
Corporate Strategy
Aggregate Unit
Demand
Aggregate Planning
(Plan. Hor.: 1 year, Time Unit: 1 month)
Capacity and Aggregate Production Plans
End Item (SKU)
Demand
Master Production Scheduling
(Plan. Hor.: a few months, Time Unit: 1 week)
SKU-level Production Plans
Manufacturing
and Procurement
Materials Requirement Planning
(Plan. Hor.: a few months, Time Unit: 1 week)
Component Production lots and due dates
Part process
plans
Shop floor-level Production Control
(Plan. Hor.: a day or a shift, Time Unit: real-time)
Aggregate Planning
Product Aggregation Schemes
•Items (or Stock Keeping Units - SKU’s): The final products delivered to the
(downstream) customers
•Families: Group of items that share a common manufacturing setup cost;
i.e., they have similar production requirements.
•Aggregate Unit: A fictitious item representing an entire product type.
•Aggregate Unit Production Requirements: The amount of (labor) time
required for the production of one aggregate unit. This is computed by
appropriately averaging the (labor) time requirements over the entire set of
items represented by the aggregate unit.
•Aggregate Unit Demand: The cumulative demand for the entire set of items
represented by the aggregate unit.
Remark: Being the cumulate of a number of independent demand series, the
demand for the aggregate unit is a more robust estimate than its constituent
components.
Computing the Aggregate Unit
Production Requirements
Washing machine
Model Number
A5532
Required labor time
(hrs)
4.2
Item demand as % of
aggregate demand
32
K4242
4.9
21
L9898
5.1
17
3800
5.2
14
M2624
5.4
10
M3880
5.8
06
Aggregate unit labor time = (.32)(4.2)+(.21)(4.9)+(.17)(5.1)+(.14)(5.2)+
(.10)(5.4)+(.06)(5.8) = 4.856 hrs
Aggregate Planning Problem
Aggr. Unit
Production Reqs
Corporate Strategy
Aggregate
Unit Demand
Aggregate
Production Plan
Aggregate
Unit Availability
(Current Inventory
Position)
Aggregate Planning
Aggregate Production Plan:
•Aggregate Production levels
•Aggregate Inventory levels
•Aggregate Backorder levels
Required
Production Capacity
Production Capacity Plan:
•Workforce level(s)
•Overtime level(s)
•Subcontracted Quantities
Pure Aggregate Planning Strategies
1. Demand Chasing: Vary the Workforce Level
PC WC HC FC
D(t)
P(t) = D(t)
W(t)
•D(t): Aggregate demand series
•P(t): Aggregate production levels
•W(t): Required Workforce levels
•Costs Involved:
•PC: Production Costs
•variable (materials, consumables, etc.)
•WC: Regular labor costs
•HC: Hiring costs: e.g., advertising, interviewing, training
•FC: Firing costs: e.g., compensation, social cost
Pure Aggregate Planning Strategies
2. Varying Production Capacity with Constant Workforce:
PC SC WC OC UC
D(t)
P(t)
S(t)
O(t)
U(t)
W = constant
•S(t): Subcontracted quantities
•O(t): Overtime levels
•U(t): Undertime levels
•Costs involved:
•PC, WC: as before
•SC: subcontracting costs: e.g., purchasing, transport, quality, etc.
•OC: overtime costs: incremental cost of producing one unit in overtime
•(UC: undertime costs: this is hidden in WC)
Pure Aggregate Planning Strategies
3. Accumulating (Seasonal) Inventories:
PC WC IC
D(t)
P(t)
I(t)
W(t), O(t), U(t), S(t) = constant
•I(t): Accumulated Inventory levels
•Costs involved:
•PC, WC: as before
•IC: inventory holding costs: e.g., interest lost, storage space, pilferage,
obsolescence, etc.
Pure Aggregate Planning Strategies
4. Backlogging:
PC WC BC
D(t)
P(t)
B(t)
W(t), O(t), U(t), S(t) = constant
•B(t): Accumulated Backlog levels
•Costs involved:
•PC, WC: as before
•BC: backlog (handling) costs: e.g., expediting costs, penalties, lost sales
(eventually), customer dissatisfaction
Typical Aggregate Planning Strategy
A “mixture” of the previously discussed pure options:
PC WC HC FC OC UC SC IC BC
P
W
H
F
O
U
S
I
B
D
Io
Wo
+
Additional constraints arising from the company strategy; e.g.,
•maximal allowed subcontracting
•maximal allowed workforce variation in two consecutive periods
•maximal allowed overtime
•safety stocks
•etc.
Solution Approaches
• Analytical Approaches: Mathematical (mainly linear
programming) Programming formulations
Technology Requirements
• Effective Data Collection and Maintenance/Data Integrity: There is a
need for a monitoring tool that will provide a centralized, correct and
efficient representation of the system status at any point in time.
– Industry Solution: Manufacturing Execution Systems (MES)
• e.g., SAP, Oracle, PeopleSoft
• Efficient and Coherent Computerized Planning Tools: There is a need
for a suite of computationally efficient planning tools that will
effectively address the problems arising at the various levels of the
decomposition framework, while maintaining plan consistency across
the different levels.
– Industry Solution: Production and Supply Chain Planning Software
• e.g., I2 Technologies, BAAN, Manugistics
Aggregate Planning:
Example
“Fundamentals of Operations Management”,
Irwin Pub., 1991)
Example: Introduction
A vacuum cleaner manufacturer tries to “plan ahead” in order to
effectively address the seasonal variation appearing in the annual
demand of its products. A planning horizon of 6 months is used.
The (aggregate) demand forecast for the next six months along
the number of working days are as follows:
Month
Jan.
Febr.
March
April
May
June
Demand Forecast No. of Working Days
1,800
22
1,500
19
1,100
21
900
21
1,100
22
1,600
20
Total: 8,000 units
Total: 125 Days
Example: Introduction (cont.)
The associated cost break-down is as follows:
Cost Item
Material
Inventory Holding
Marginal Stockout
Marginal Cost of Subcontracting
(Cost of buying less material costs)
Hiring and Training
Layoff
Regular Labor cost per hour
Overtime labor cost per hour
Cost(\$)
\$100 per unit
\$5 per unit per month
\$10 per unit per month
\$20 per unit
\$1000 per worker
\$1500 per worker
\$15 per employee per hour
\$20 per employee per hour
Example: Introduction (cont.)
Starting and Operating Conditions:
Current Inventory
400 units
Current Workforce
38 workers
Labor hours per unit
5 employee-hours/unit
Regular labor time per employee per day
8 hours
Inventory at the end of each month
25% of coresp. demand
The tabular approach:
Computing net requirements
Month
Jan.
Febr.
March
April
May
June
Beg. Inv. Forc. Dem. End. Inv. Prod. Req.
400
1,800
450
1,850
450
1,500
375
1,425
375
1,100
275
1,000
275
900
225
850
225
1,100
275
1,150
275
1,600
400
1,725
8,000
Plan 1: Demand Chasing
Produce exactly the quantities required for each period through
regular labor, by varying the workforce size.
Month Prod. Req. Req. Labor Hours Work Days Workers
Jan.
1,850
9,250
22
53
Febr.
1,425
7,125
19
47
March
1,000
5,000
21
30
April
850
4,250
21
25
May
1,150
5,750
22
33
June
1,725
8,625
20
54
PC
185000
142500
100000
85000
115000
172500
800000
WC
139920
107160
75600
63000
87120
129600
602400
HC
15000
0
0
0
8000
21000
44000
TC=
FC
0
9000
25500
7500
0
0
42000
1488400
Plan 1: Demand Chasing (cont.)
2,000
1,800
1,600
1,400
1,200
Series2
1,000
800
Series1
600
400
200
0
1
2
3
4
5
6
Plan 2: Minimum Production Workforce
+ Subcontracting
•Adjust the workforce so that the minimal monthly demand is
met through regular labor.
•Subcontract all excess demand.
Month Prod. Req. Req. Labor Hours Work Days Workers Int. Prod. Subcontr. Quantity PC
WC
Jan.
1,850
9,250
22
26
915
935 91500 68640
Febr.
1,425
7,125
19
26
790
635 79000 59280
March
1,000
5,000
21
26
874
126 87400 65520
April
850
4,250
21
26
850
0 85000 65520
May
1,150
5,750
22
26
915
235 91500 68640
June
1,725
8,625
20
26
832
893 83200 62400
517600 390000
SC
FC
112200 18000
76200
0
15120
0
0
0
28200
0
107160
0
338880 18000
TC= 1264480
Plan 2: Minimum Production Workforce
+ Subcontracting
2,000
1,800
1,600
1,400
1,200
Series1
1,000
800
Series2
Series3
600
400
200
0
1
2
3
4
5
6
Plan 3: Anticipatory (Seasonal)
Inventories + Backlogging
•Employ the minimal workforce level that can cover the total
production requirements over the considered planning horizon,
by working only regular hours.
•Take care of the demand fluctuations by building anticipatory
inventories and/or backlogging excess demand.
Month Prod. Req. Work Days Workers Act. Prod. Inventory Backlogs
Jan.
1,800
22
38
1338
0
62
Febr.
1,500
19
38
1155
0
407
March
1,100
21
38
1277
0
230
April
900
21
38
1277
147
0
May
1,100
22
38
1338
385
0
June
1,600
20
38
1215
0
0
8000
125
7600
PC
133800
115500
127700
127700
133800
121500
760000
WC
100320
86640
95760
95760
100320
91200
570000
IC
0
0
0
735
1925
0
2660
TC=
BC
620
4070
2300
0
0
0
6990
1339650
Plan 3: Anticipatory (Seasonal)
Inventories + Backlogging (cont.)
2,000
1,500
1,000
Series1
500
Series2
Series3
0
1
-500
-1,000
2
3
4
5
6
Analytical Approach:
A Linear Programming Formulation
min TC = St ( PCt*Pt+WCt*Wt+OCt*Ot+HCt*Ht+FCt*Ft+
SCt*St+ICt*It+BCt*Bt )
s.t.
t, Pt+It-1+St = (Dt-Bt)+Bt-1+It
t, Wt = Wt-1+Ht-Ft
t, 5*Pt  8*WDt*Wt+Ot
( t, It  0.25*Dt )
B6= 0
t, Pt, Wt, Ot, Ht, Ft, St, It, Bt  0
Proactive approaches to
demand management
• Influencing demand variation so that it aligns to available
production capacity:
– promotional plans
– pricing
(e.g., airline and hotel weekend discounts, telecommunication
companies’ weekend rates)
• “Counter-seasonal” product (and service) mixing: Develop
a product mix with antithetic (seasonal) trends that level
the cumulative required production capacity.
– (e.g., lawn mowers and snow blowers)
Disaggregation and
Master Production Scheduling
(MPS)
The (Master) Production Scheduling Problem
Capacity Company Product Economic
Consts. Policies Charact. Considerations
Placed Orders
Forecasted Demand
Current and Planned
Availability, eg.,
•Initial Inventory,
•Initiated Production,
•Subcontracted quantities
Master Production
Schedule:
When &amp; How Much
to produce for each
product
MPS
Planning
Horizon
Time
unit
Capacity
Planning
(Typical) Analytical Approaches to MPS
• Recognizing that switching production from item to item
(or family to family) requires significant set-up times,
during which the effective productivity of the line is equal
to zero, these (formal) approaches try to apportion the
planned production capacity to the various items in a way
that meets their effective demand while it minimizes the
(long-run) number of set-ups.
• However, they tend to be technically cumbersome and/or
limiting in terms of modeling capability, and therefore, not
extensively used in practice.
• Example:
– Textbook, Section 5.7.1
The Driving Logic behind the Empirical Approach
Demand
Availability:
•Initial Inventory Position
•Scheduled Receipts due to
initiated production or
subcontracting
Compute Future
Inventory Positions
Net
Requirements
Future inventories
Lot Sizing
Scheduled
Releases
Resource (Fermentor)
Occupancy
Feasibility
Testing
Product i
Schedule
Infeasibilities
Master Production Schedule
Revise
Prod. Reqs
McGuinnes &amp; Co. Microbrewery
Case Study
Company Description
• One of the three largest microbreweries in Atlanta area
• Company started in 1995
• A 12,000sq. ft. production facility and warehouse in the
Chattahoochee Industrial Park
• The company is run by its owner, Mr. McGuinness
• Three full-time and two-part time employees, and
occasionally hires part-time help
• Last year’s sales: &gt; 35,000 cases =&gt; &gt; \$180,000
• Average weekly sales: 500-800 cases
Company Products
• Pale Ale: The oldest company product. Since May 2000,
this product is also offered in the NY and Boston areas,
through a major national distributor.
• Product monthly sales over the last four years (1997-2000)
in cases of beer:
Sales
1600
1400
1200
1000
800
Sales
600
400
200
0
1
4
7 10 13 16 19 22 25 28 31 34 37 40 43 46
Company Products
• Stout: A rather new product, offered only in the last 14
months.
• Monthly sales in cases for the last 14 months:
Sales
700
600
500
400
Sales
300
200
100
0
1
2
3
4
5
6
7
8
9
10 11 12 13 14
Company Products
• Winter Ale: A seasonal beer, offered primarily during the
winter period (from October to April).
• Product monthly sales over the last 4 years:
Sales
1400
1200
1000
800
Sales
600
400
200
0
1
4
7 10 13 16 19 22 25 28 31 34 37 40 43 46
Company Products
• Summer Brew: A seasonal beer offered primarily during
the summer season. A new product offered over the last
two years.
• Product monthly sales in cases over the last two years:
Sales
700
600
500
400
Sales
300
200
100
0
1
3
5
7
9
11
13
15
17
19
21
23
Company Products
• Octoberfest: An “image promoter” for the company,
offered once a year, during the Octoberfest season. The
product is delivered to the company distributors and the
local restaurants only once a year, in late September or
early October.
• Product annual sales in cases for the last four years:
Sales
450
400
350
300
250
200
150
100
50
0
Sales
1
2
3
4
Company Operations
Grain cracking
(1 milling
machine)
Fermentation
(3 40-barrel
ferm. tanks)
Mashing
(1 mashing tun)
Boiling
(1 brew kettle)
Bottling
(1 bottling
station)
Filtering
(1 filter tank)
Fermentation Times:
Brew
Pale Ale
Stout
Ferm. Time
2 weeks
3 weeks
Winter Ale
2 weeks
Summer Brew
2 weeks
Octoberfest
8-10 weeks
Company Challenges
• Company production scheduled by its owner, in an ad-hoc
fashion
• Sustained growth strains the company production capacity
• There is a dire need for a systematic methodology that will
allow the company and its owner to
– foresee the expected production requirements over a certain
planning horizon;
– organize appropriately its production activity based on the
forecasted demand;
– systematically manage its growth by adjusting appropriately its
capacity.
• Eventually, this methodology should be offered to the
company in a set of user-friendly tools.
Example: Implementing the Empirical
Approach in Excel
# Fermentors:
1
Microbrewery Performance
Week
# Fermentors Req'd
Min # Fermentors Req'd
Fermentor Utilization
Total Spoilage
Pale Ale
Week
Demand
Scheduled Receipts
Fermentors Released
Inventory Spoilage
Inventory Position
Net Requirements
Batched Net Receipts
Scheduled Releases
Fermentors Seized
Total Fermentors Occupied
Stout
Week
Demand
Scheduled Receipts
Fermentors Released
Inventory Spoilage
Inventory Position
Net Requirements
Batched Net Receipts
Scheduled Releases
Fermentors Seized
Total Fermentors Occupied
0
Unit Cap:
200
1
0
2
0
3
0
2
0%
0
2
0%
0
2
0%
0
Fermentation Time:
0
1
45
200
1
100
255
Fermentation Time:
0
1
35
150
2
2
115
3
Shelf Life:
20
4
0
5
0
6
0
7
0
8
0
9
0
10
0
2
0%
0
2
0%
0
2
0%
0
2
0%
0
2
0%
0
2
0%
0
2
0%
0
4
5
6
7
8
9
10
50
40
40
40
40
40
40
40
40
205
165
125
85
45
5
-35
35
-40
40
-40
40
3
2
3
4
5
6
7
8
9
10
40
30
30
40
40
40
40
50
50
75
45
15
-25
25
-40
40
-40
40
-40
40
-50
50
-50
50
Computing Inventory Positions and
Net Requirements
Inventory Position:
IPi = max{IPi-1,0}+ SRi+BNRi -Di
(Material Balance Equation)
(IPi-1)+
SRi+BNRi
i
Di
IPi
Net Requirement:
NRi = abs(min{0, IPi})
Problem Decision Variables:
Scheduled Releases
# Fermentors:
1
Microbrewery Performance
Week
# Fermentors Req'd
Min # Fermentors Req'd
Fermentor Utilization
Total Spoilage
Pale Ale
Week
Demand
Scheduled Receipts
Fermentors Released
Inventory Spoilage
Inventory Position
Net Requirements
Batched Net Receipts
Scheduled Releases
Fermentors Seized
Total Fermentors Occupied
Stout
Week
Demand
Scheduled Receipts
Fermentors Released
Inventory Spoilage
Inventory Position
Net Requirements
Batched Net Receipts
Scheduled Releases
Fermentors Seized
Total Fermentors Occupied
0
Unit Cap:
200
1
0
2
0
3
0
2
0%
0
2
0%
0
2
0%
0
Fermentation Time:
0
1
45
200
1
100
2
2
255
3
Shelf Life:
20
4
0
5
0
6
1
7
1
8
0
9
0
10
0
2
0%
0
2
0%
0
2
100%
0
2
100%
0
2
0%
0
2
0%
0
2
0%
0
6
7
8
4
5
9
10
50
40
40
40
40
40
40
40
40
205
165
125
85
45
5
165
125
85
200
200
1
1
Fermentation Time:
0
1
35
150
115
3
2
3
4
5
6
1
7
8
9
10
40
30
30
40
40
40
40
50
50
75
45
15
-25
25
-40
40
-40
40
-40
40
-50
50
-50
50
Testing the Schedule Feasibility
# Fermentors:
1
Microbrewery Performance
Week
# Fermentors Req'd
Min # Fermentors Req'd
Fermentor Utilization
Total Spoilage
Pale Ale
Week
Demand
Scheduled Receipts
Fermentors Released
Inventory Spoilage
Inventory Position
Net Requirements
Batched Net Receipts
Scheduled Releases
Fermentors Seized
Total Fermentors Occupied
Stout
Week
Demand
Scheduled Receipts
Fermentors Released
Inventory Spoilage
Inventory Position
Net Requirements
Batched Net Receipts
Scheduled Releases
Fermentors Seized
Total Fermentors Occupied
0
Unit Cap:
200
1
0
2
1
3
1
2
0%
0
2
100%
0
2
2
Fermentation Time:
0
1
45
200
1
100
255
Shelf Life:
20
4
1
5
0
6
1
2
100%
0
2
100%
0
2
0%
0
3
4
5
8
1
9
1
10
0
2
100%
0
7
2
NO
2
200%
0
2
100%
0
2
100%
0
2
0%
0
6
7
8
9
10
50
40
40
40
40
40
40
40
40
205
165
125
85
45
5
165
125
85
200
200
1
1
Fermentation Time:
0
1
35
150
115
3
2
3
4
5
6
1
7
8
9
10
40
30
30
40
40
40
40
50
50
75
45
15
175
135
95
55
5
155
200
200
1
1
1
1
200
200
1
1
1
1
Fixing the Original Schedule
# Fermentors:
1
Microbrewery Performance
Week
# Fermentors Req'd
Min # Fermentors Req'd
Fermentor Utilization
Total Spoilage
Pale Ale
Week
Demand
Scheduled Receipts
Fermentors Released
Inventory Spoilage
Inventory Position
Net Requirements
Batched Net Receipts
Scheduled Releases
Fermentors Seized
Total Fermentors Occupied
Stout
Week
Demand
Scheduled Receipts
Fermentors Released
Inventory Spoilage
Inventory Position
Net Requirements
Batched Net Receipts
Scheduled Releases
Fermentors Seized
Total Fermentors Occupied
0
Unit Cap:
200
1
0
2
1
3
1
2
0%
0
2
100%
0
2
2
Fermentation Time:
0
1
45
200
1
100
255
Shelf Life:
20
4
1
5
1
6
1
7
1
8
1
9
1
10
0
2
100%
0
2
100%
0
2
100%
0
2
100%
0
2
100%
0
2
100%
0
2
100%
0
2
0%
0
3
4
5
6
7
8
9
10
50
40
40
40
40
40
40
40
40
205
165
125
85
45
205
165
125
85
200
200
1
1
Fermentation Time:
0
1
35
150
115
3
2
3
4
5
1
6
7
8
9
10
40
30
30
40
40
40
40
50
50
75
45
15
175
135
95
55
5
155
200
200
1
1
1
1
200
200
1
1
1
1
Infeasible Production Requirements
# Fermentors:
1
Microbrewery Performance
Week
# Fermentors Req'd
Min # Fermentors Req'd
Fermentor Utilization
Total Spoilage
Pale Ale
Week
Demand
Scheduled Receipts
Fermentors Released
Inventory Spoilage
Inventory Position
Net Requirements
Batched Net Receipts
Scheduled Releases
Fermentors Seized
Total Fermentors Occupied
Stout
Week
Demand
Scheduled Receipts
Fermentors Released
Inventory Spoilage
Inventory Position
Net Requirements
Batched Net Receipts
Scheduled Releases
Fermentors Seized
Total Fermentors Occupied
0
Unit Cap:
200
1
1
2
1
3
1
2
100%
0
2
100%
0
2
2
Fermentation Time:
0
1
45
100
55
Shelf Life:
20
4
1
5
0
6
0
7
0
8
0
9
0
10
0
2
100%
0
2
100%
0
2
0%
0
2
0%
0
2
0%
0
2
0%
0
2
0%
0
2
0%
0
3
4
5
6
7
8
9
10
50
200
1
40
40
40
40
40
40
40
40
205
165
125
85
45
5
-35
35
-40
40
-40
40
1
Fermentation Time:
0
1
35
150
115
3
2
3
4
5
6
7
8
9
10
40
40
40
40
40
40
40
50
50
75
35
-5
5
160
120
80
40
-10
10
-50
50
200
200
1
1
1
1
Empirical Approach
– Easy to present and motivate
– Provides clear visibility to the problems and their underlying
causes
– Supports effective and efficient “what-if” analysis
– Provides modeling flexibility
– No guarantee for optimality or exhaustive search for a feasible
solution
– Hard to trace for more complex production environments
Modeling the Inventory Spoilage
# Fermentors:
1
Microbrewery Performance
Week
# Fermentors Req'd
Min # Fermentors Req'd
Fermentor Utilization
Total Spoilage
Pale Ale
Week
Demand
Scheduled Receipts
Fermentors Released
Inventory Spoilage
Inventory Position
Net Requirements
Batched Net Receipts
Scheduled Releases
Fermentors Seized
Total Fermentors Occupied
Stout
Week
Demand
Scheduled Receipts
Fermentors Released
Inventory Spoilage
Inventory Position
Net Requirements
Batched Net Receipts
Scheduled Releases
Fermentors Seized
Total Fermentors Occupied
0
Unit Cap:
200
1
0
2
0
3
0
2
0%
0
2
0%
0
2
0%
0
Fermentation Time:
0
1
45
200
1
100
255
Fermentation Time:
0
1
35
150
2
2
115
3
Shelf Life:
6
4
0
5
0
6
0
7
0
8
0
9
0
10
0
2
0%
0
2
0%
0
2
0%
0
2
0%
45
2
0%
0
2
0%
0
2
0%
0
4
5
6
7
8
9
10
50
40
40
40
40
40
40
40
40
205
165
125
85
45
45
-40
40
-40
40
-40
40
-40
40
3
2
3
4
5
6
7
8
9
10
40
30
30
40
40
40
40
50
50
75
45
15
-25
25
-40
40
-40
40
-40
40
-50
50
-50
50
A feasible schedule with spoilage effects
# Fermentors:
1
Microbrewery Performance
Week
# Fermentors Req'd
Min # Fermentors Req'd
Fermentor Utilization
Total Spoilage
Pale Ale
Week
Demand
Scheduled Receipts
Fermentors Released
Inventory Spoilage
Inventory Position
Net Requirements
Batched Net Receipts
Scheduled Releases
Fermentors Seized
Total Fermentors Occupied
Stout
Week
Demand
Scheduled Receipts
Fermentors Released
Inventory Spoilage
Inventory Position
Net Requirements
Batched Net Receipts
Scheduled Releases
Fermentors Seized
Total Fermentors Occupied
0
Unit Cap:
200
1
1
2
1
3
1
2
100%
0
2
100%
0
2
2
Fermentation Time:
0
1
45
200
1
100
255
Shelf Life:
6
4
1
5
1
6
0
7
1
8
1
9
1
10
0
2
100%
0
2
100%
0
2
100%
0
2
0%
0
2
100%
45
2
100%
0
2
100%
0
2
0%
5
3
4
5
6
7
8
9
10
50
40
40
40
40
40
40
40
40
205
165
125
85
245
45
160
120
80
40
200
200
1
1
Fermentation Time:
0
1
35
150
115
3
2
3
4
1
5
6
7
8
9
10
40
30
30
40
40
40
40
50
50
75
45
215
175
135
95
55
5
5
150
200
200
1
1
1
1
200
200
1
1
1
1
Computing Spoilage and
Modified Inventory Position
Spoilage:
SPi = max{0, IPi-1-(SRi-1+SRi-2+…+SRi-sl+1)
-(BNRi-1+BNRi-2+…+BNRi-sl+1)}
Inventory Position:
IPi = max{IPi-1,0}+ SRi+BNRi -Di-SPi
(Material Balance Equation)
(IPi-1)+
SRi+BNRi
i
Di
SPi
IPi
Materials Requirements Planning
(MRP)
The “MRP Explosion” Calculus
BOM
Times
Planned
Order Releases
MPS
Current
Availabilities
Lot Sizing
Policies
MRP
Priority
Planning
Example: The (complete) MRP Explosion
Calculus
(J. Heizer and B. Render “Operations Management”, 6th Ed. Prentice Hall)
Item BOM:
Alpha
B(1)
D(2)
C(1)
C(2)
E(1)
E(1)
F(1)
F(1)
Item
Alpha
B
C
D
E
F
Gross Reqs for Alpha
Period
Gross Reqs.
Item Levels:
Level 0: Alpha Level 1: B Level 2: C, D Level 3: E, F
1
2
3
1
1
1
6
7
8
9
50
Current Inv. Pos.
10
20
0
100
10
50
10
11 12
50
13
100
The “MRP Explosion” Calculus
External Demand
Level 0
Initial
Inventories
Level 1
Capacity
Planning
Level 2
Scheduled
Receipts
Level N
Gross Requirements
Planned
Order Releases
Capacity Planning (Example)
Available
labor
hours
150
100
50
1
2
3
4
5
6
7
8
Periods
Computing the item Scheduled Releases
Item C
Period
Gross Requirements
Scheduled Receipts
Inventory Position: 20
Net Requirements
Planned Sched. Receipts
Planned Sched. Releases
1
2
3
20
20
40
40
4
40
5
6
12
7
10
40
28
18
72
Safety Stock
Requirements
Parent
Sched. Rel.
Item External
Demand
Synthesizing
item demand
series
Gross
Reqs
Projecting Net
Inv. Positions Reqs
and
Net Reqs.
Scheduled
Receipts
Initial
Inventory
8
9
90
18
-72
72
72
10
11
75
0
-75
75
75
12
0
75
Lot Sizing
Policy
Lot Sizing
Planned
Order
Receipts
TimePhasing
Planned
Order
Releases
Some Lot Sizing Heuristics
• Economic Order Quantity (EOQ): Compute a lot size using the
EOQ formula with the demand rate D set equal to the average of
the demand values observed over the considered planning
horizon.
• Periodic Order Quantity (POQ): Compute T = round(EOQ/D),
and every time you schedule a new lot, size it to cover the net
requirements for the subsequent T periods.
• Silver-Meal (SM): Every time you start a new lot, keep adding
the net requirements of the subsequent periods, as long as the
average (setup plus holding) cost per period decreases.
• Least Unit Cost (LUC): Every time you start a new lot, keep
adding the net requirements of the subsequent periods, as long as
the average (setup plus holding) cost per unit decreases.
• Part Period Balancing (PPB): Every time you start a new lot,
add a number of subsequent periods such that the total holding
cost matches the lot set up cost as much as possible.
Shop floor-level
Production Control / Scheduling
General Problem Definition
Determine the timing of
– the releases of the various production lots on the shop-floor
and
– the allocation to them of the system resources required for
the execution of their various operations
so that the production plans decided at the tactical planning - i.e.,
MPS &amp; MRP - level are observed as close as possible.
A modeling absrtaction
• M: number of machine types / workstations.
• N: number of jobs to be scheduled.
• Job routing: an ordered list / sequence of machines that a
job needs to visit in order to be completed.
• Operation: a single processing step executed during the job
visit to a machine.
• P_j: the set of operations in the routing of job j.
• t_kj: the processing time for the k-th operation of job j.
• d_j: due date for job j.
• r_j: the release date of job j, i.e., the date at which the
material required for starting the job processing will be
available.
Example
J_2
J_1
W_1
W_2
W_q
J_N
W_i
W_M
Problem variations
• Based on job routing:
– job shop: each job has an arbitrary route
– flow shop: all jobs have the same route, but different operational
processing times
– re-entrant flow shop: some machine(s) is visited more than once by the
same job
– flexible job shop / flow shop: each operation has a number of machine
alteratives for its execution
• Based on the operational processing times:
– deterministic: the various processing times are known exactly
– stochastic: the processing times are known only in distribution
• Based on the possibility of pre-emption:
– pre-emptive: the execution of a job on a machine can be interrupted
upon the arrival of a new job
– non-preemptive: each machine must complete its currently running job
before switching to another one.
• Based on the considered performance objective(s)
Performance-related job and schedule
attributes
• job completion time: C_j
• schedule makespan: max_j C_j
• job lateness: L_j = C_j - d_j (notice that, by definition, job
lateness can be either positive or negative - in which case
that the job is finished earlier than its due date)
• job tardiness: T_j = max (0, L_j) = [L_j]+
• job flow time: F_j =C_j - r_j (i.e., the amount of time the
job spends on the shop-floor)
• job tardy index: TI_j = 1 if job is tardy; 0 otherwise.
• Number of tardy jobs: NT
• job importance weight: w_j (the higher the weight, the
more important the job)
Performance Criteria
Job Attribute
Lateness
Tardiness
Flow time
Tardy index
Completion
min total
S_j L_j
S_j T_j
S_j F_j
NT
S_j C_j
min weighted total
S_j w_j*L_j
S_j w_j*T_j
S_j w_j*F_j
min max
max_j L_j
max_j T_j
max_j F_j
min weighted max
max_j w_j*L_j
max_j w_j*T_j
max_j w_j*F_j
S_j w_j*C_j
max_j C_j
max_j w_j*C_j
Example
Jon number Due Date Oper. #1 Oper. #2 Oper. #3 Oper. #4 Oper. #5
1
17
(1,2)
(2,4)
(4,3)
(5,3)
2
18
(1,4)
(3,2)
(2,6)
(4,2)
(5,3)
3
19
(2,1)
(5,4)
(1,3)
(3,4)
(2,2)
4
17
(2,4)
(4,2)
(1,2)
(3,5)
5
20
(4,5)
(5,3)
(1,7)
A feasible schedule and its Gantt Chart
Machine
1
2
3
4
5
5
Job 1
Job 2
10
Job 3
15
Job 4
20 Time
Job 5
Schedule Performance Evaluation
Job
1
2
3
4
5
Total
average
max
d_j
17
18
19
17
20
C_j
15
20
17
18
18
F_j
15
20
17
18
18
L_j
-2
2
-2
1
-2
T_j
0
2
0
1
0
TI_j
0
1
0
1
0
88
17.6
20
88
17.6
20
-3
-0.6
2
3
0.6
2
2
Solution Approaches
• Analytical (Mixed Integer Programming) formulations:
Notoriously difficult to solve even for relatively small
configurations
• Heuristics:
In the scheduling literature, the applied heuristics are
known as dispatching rules, and they determine the
sequencing of the various jobs waiting upon the different
machines, based upon job attributes like
– the required processing times
– due dates
– priority weights
– slack times, defined as d_j - (current time + total
remaining processing time)
– etc.
Course Objectives
• Demonstrate the combinatorial nature of the problem and
the sources of the problem complexity, by investigating the
single-machine scheduling problem.
• Introduce some basic dispatching rules used in practice,
and discuss the motivational logic behind them.
```