Submitted
in partial fulfillment of the requirements
for the degree of
at
DALHOUSIE UNIVERSITY
March 2009
1*1
Library and
Archives Canada
Bibliotheque et
Archives Canada
Published Heritage
Branch
Direction du
Patrimoine de I'edition
NOTICE:
The author has granted a nonexclusive license allowing Library
and Archives Canada to reproduce,
publish, archive, preserve, conserve,
communicate to the public by
telecommunication or on the Internet,
loan, distribute and sell theses
worldwide, for commercial or noncommercial purposes, in microform,
paper, electronic and/or any other
formats.
AVIS:
L'auteur a accorde une licence non exclusive
permettant a la Bibliotheque et Archives
Canada de reproduire, publier, archiver,
sauvegarder, conserver, transmettre au public
par telecommunication ou par Plntemet, prefer,
distribuer et vendre des theses partout dans
le monde, a des fins commerciales ou autres,
sur support microforme, papier, electronique
et/ou autres formats.
Canada
DALHOUS1E UNIVERSITY
To comply with the Canadian Privacy Act the National Library of Canada has requested
that the following pages be removed from this copy of the thesis:
Preliminary Pages
Examiners Signature Page
Dalhousie Library Copyright Agreement
Appendices
Copyright Releases (if applicable)
TABLE OF CONTENTS
Page
LIST OF TABLES
vi
LIST OF FIGURES
vii
ABSTRACT
viii
LIST OF ABBREVIATIONS
ix
ACKNOWLEDGEMENTS
Chapter 1
Chapter 2
Chapter 3
15
3.1
17
3.2
22
28
4.1
29
4.2
30
4.3
31
4.4
32
34
5.1
34
5.2
Mathematical Model A
36
5.3
Data
39
Chapter 4
Chapter 5
5.3.1
Aggregating Data
40
5.3.2
42
5.3.3
Labour Schemes
45
5.3.4
47
5.3.5
51
5.4
Implementation
52
5.5
Results
54
58
Chapter 6
iv
6.1
59
6.2
66
6.3
68
6.4
Mathematical Model B
73
6.5
Data
77
6.5.1
78
6.5.2
Production Matrix
80
81
82
83
84
Cost Matrix
86
86
87
88
6.5.3
6.6
Implementation
90
6.7
Results
91
6.8
94
6.9
Future Work
98
Chapter 7
100
7.1
101
7.2
Mathematical Model C
104
7.3
107
7.4
Future Work
Ill
Conclusion...
112
Chapter 8
References
'.
Appendices
117
121
Appendix A
...122
Appendix B
125
Appendix C
127
LIST OF TABLES
Table 1  Sample of Aggregated Product Groups
41
45
46
47
49
51
55
71
71
76
80
81
86
91
92
95
106
107
VI
LIST OF FIGURES
8
11
Figure 3  Hierarchical Production Plan Flowchart for Ice Cream Production System.... 29
Figure 4  Model A Inventory Results
56
57
72
85
89
93
95
96
97
98
108
109
110
110
vn
ABSTRACT
There are significant gaps in research on applied approaches to production and inventory
management in the process industries. This paper presents a hierarchical production
planning approach to scheduling the production of ice cream, a continuous batch
production process with sequence dependent setup times and highly seasonal demand.
First, a high level yearly model (Model A) plans aggregate production and inventory
levels to meet demand at the least cost possible. A mixed integer programming model
minimizes holding, transportation, labour, and production costs and is constrained by
production and storage capacities. The model selects one predefined labour scheme for
each period to produce a realistic and effective long term schedule. The short term model
(Model B) minimizes setup and holding costs and provides detailed scheduling on a
weekly basis that is constrained by the labour schedule from Model A. The problem is
modelled as a node network, where products with shared setups are grouped into families
and a WagnerWhitin lot size model is created for each family. A mixed integer model
then determines the least expensive path from week 1 to t for all families while
maintaining the aggregated production levels. Lastly, the detailed scheduling model
(Model C) determines a weekly production sequence for the products and run lengths
determined by Model B. Model C uses an integer programming approach to minimize
changeover costs while meeting the labour schedule defined by Model A. When used
together, the three decision models produce fast, reasonable schedules at each stage and
short term operations reflect the goals of the long term plan.
Vlll
LIST OF ABBREVIATIONS
CPLEX
EOQ
EROT
ERP
HPP
LAFR
LP
 Linear Programming
MIP
MPL
RKM
SKU
IX
ACKNOWLEDGEMENTS
I would like to start by thanking Keith Murdock, Glen Caissie, and Jeff Burrows from the
Scotsburn Dairy Group for their unwavering support over the last two years. Their
willingness to provide assistance and impart their knowledge without hesitation, their
dedication to the project, and the confidence they expressed in me helped ensure the
success of this work.
Thank you to my supervisor Dr. Corinne MacDonald for providing me with the perfect
balance of guidance, support, reassurance, and friendship throughout this process. Thank
you to my cosupervisor, Dr. Eldon Gunn, for the unending supply of knowledge and
wisdom. Thank you both for giving me the opportunity to take on such an incredible
challenge.
Thank you to my family and friends for their constant encouragement and welcomed
distractions. Thank you to my parents for setting an amazing example and providing me
with unending love and support.
Thank you to my supervisory committee, Dr. John Blake and Dr. Paul Dixon, for offering
their time and knowledge in evaluating my thesis.
I would also like to acknowledge the financial support provided by the Natural Sciences
and Engineering Research Council of Canada and MITACS.
Chapter 1
An Introduction to Production and Inventory Management in the
Process Industries
Production and inventory management systems manage the flow of goods through
complex production and distribution structures, delivering end products when and where
they are needed at the lowest cost. These production and distribution networks typically
span many levels within a company, from manufacturing and operations, to material
procurement, to distribution and transportation, to logistics. Often, the decisions at each
level of management are made independently of one another and are concerned with
optimizing conflicting system performance variables. Considering short term and long
term decisions simultaneously while maintaining the constraints imposed by production,
finance, and marketing requires a considerable amount of computational effort. In the
case of a multistage, multiproduct industry, the linkages between management levels
and the specifics of the production process are even more complex.
the three main levels of strategic, tactical, and operational decision making, a framework
first proposed by Anthony (1965). At the highest level, strategic marketing decisions,
such as which products to make and how much capacity to allot to production, typically
cover a timeframe of one or more years. Decision makers are concerned with satisfying
the needs of the customers and building enough capacity to produce and store what they
sell. In the shorter term, tactical production decisions, such as lot sizing and cycle stock
calculations, tend to cover only a few months into the future. Production schedulers
minimize setup and holding costs whenever possible. Lastly, daily operational
sequencing decisions may only consider one week of production at a time. Operations
managers plan to produce products in the most efficient manner possible.
Once the decisions levels in a company have been defined, models can be developed to
optimize the decisions at each stage. Some approaches focus on modelling the subproblems of this decision making structure, but coordination between the decision levels
within an organization is essential to developing and maintaining an effective production
plan in the long term. Some approaches attempt to solve for all decisions simultaneously,
but the result is a large, expensive model. The model is unlikely to match the true nature
of the problem as each level of planning within a company is concerned with different,
sometimes conflicting objectives and constraints. If the model can be solved, the level of
detail offered by developing the short term plan over a long horizon is of little value. The
optimal solution at the detailed level is almost certain to change when actual sales differ
from the forecast.
to manage at each stage and requires less computer power to solve. Because different
stages within the planning structure are often concerned with varying timeframes,
objectives, and constraints, developing appropriate models at each stage is simplified
considerably. However, without proper connections between levels, a short term plan
may schedule production in a way that is inconsistent with the company's long term
goals. A linkage is needed between the levels of the hierarchical structure to ensure that
the long term goals are upheld while production at the monthly and weekly level is
optimized. Typically, the results from the long term plan are translated into constraints
that are imposed on the shorter term models. The development of appropriate constraints
also requires significant consideration because if the constraints are too tight then the
plan becomes centralized and the low level models are too restricted to plan effectively.
The purpose of this thesis is to develop a production management tool for an ice cream
manufacturer to automate and support their tactical and operational production planning
decisions. At the highest level, the branch manager is concerned with the size of the
workforce and the availability of storage space. Operation coordinators focus on the
availability of products on a short term basis and deal with last minute changes in
demand from customer promotions. At the most detailed level, the production scheduler
sequences the weekly production in the most efficient manner possible while meeting all
production constraints. Decisions are normally based on expert knowledge and do not
consider the cost trade offs between holding, labour, and sequencing costs.
The company produces over three hundred distinct finished frozen goods, including
frozen yogurt, sherbet, and lactose and sugar free products, in a single production facility
with three production lines. Production is a two stage process, where base mix is created
in large batches and flavours and inclusions are added later to create a variety of finished
products. Setup times and costs are significant and sequence dependent, particularly
where base mixes are concerned. Allergen constraints and other sequencing restrictions
make daily detailed planning difficult. A more detailed description of the production
process is provided in chapter 2. Currently, production, inventory, and labour decisions
are made semiindependently and are based on experience rather than cost calculations or
mathematical models.
Most production and inventory management literature focuses on discrete manufacturing
and the techniques used are not applicable to a process industry such as food production
(Crama, Pochet, & Wera, 2001). Research that focuses on optimizing process industry
systems is often either very general or specific to one industry. Adapting the general
work to real world scenarios involves a considerable creative process because it often
incorporates simplifying assumptions and the details of acquiring and properly evaluating
data are rarely discussed. Research on applied solutions is difficult to adapt to other
problems because each industry has a unique hierarchical structure and production
process. Applied research provides a useful basis for future work but it is difficult to find
models that match the production and inventory processes of ice cream manufacturing
closely enough to be directly implemented. Chapter 3 summarizes the existing research
on general and applied production planning.
The application of Hierarchical Production Planning (HPP) involves breaking down the
complex problem of modelling an entire ice cream production process into smaller,
modular segments. Chapter 4 details the development and design of the hierarchical
structure implemented in this case. Each of the segments are treated semiindependently
and solved on rolling horizons to allow flexibility to adapt to changes in demand or
production. By designing each model to adhere to the limitations imposed by its
predecessor and introducing additional constraints, the linkages between each level are
maintained. The system is also designed to facilitate management intervention at each
level of the hierarchical structure. Data are supplied to the model at each stage by a
database that was built for this project to centralize product and raw material information,
improve communication, and manipulate the information for use by the models.
At the highest level, Model A produces an aggregate production plan for some number of
future periods based on minimising holding and labour costs. A detailed discussion of the
model is found in chapter 5. The model is constrained by the production speed of the
lines, the capacity of the freezer and warehouses, the need to meet demand in every
period, and a selection of labour schemes. Rather than allow the model to schedule
regular or overtime production without restraint, each month's schedule must be one of
twelve preselected labour combinations that mimic a variety of common weekly
schedules. Constraining the model to predefined schedules has a small negative impact
on the computation time but ensures that the results are more realistic and feasible from a
labour perspective. The products' inventory levels and demand forecasts are aggregated
based on similar production and storage characteristics. Aggregating the data leads to a
rapid solution time without significantly impacting the overall labour solution. The
problem is modelled as a mixed integer programming problem and solves in minutes on a
standard personal computer. The result is a possible labour scheme assignment by month
for the next twelve months and the associated production and inventory levels required to
meet demand in each period.
Model B is the second model in the hierarchical structure and is presented in chapter 6.
The purpose of this model is to produce a weekly production schedule that minimizes
holding costs and setup costs while meeting demand for some number of future periods
and adhering to the labour schedule imposed by Model A. Products are grouped into
families based on shared setup costs to decrease the solution time and also so similar
products are scheduled in the same period to save on setups. Utilising Wagner and
Whitin's (1958) proof that it is never optimal to place an order and bring in inventory in
the same period, the set of planning decisions is reduced to only a few production options
per family, per period. The costs of these production options are calculated and the
resulting production and cost matrices are supplied to the model. The mixed integer
program then minimizes production costs while ensuring all periods are covered and the
labour schedule is followed. The resulting family production schedule is transformed
back into individual product runs and the final output is a list of all products scheduled
for production in the coming weeks and their run quantities.
The key to a functioning hierarchical structure is proper linkages among the levels. To
test the connection between Model A and Model B, a series of trial runs were conducted
and the resulting inventory levels, which are not constraints in either model, were
compared. The results showed that Model B scheduled production within the boundaries
prescribed by Model A with no need to exceed capacity. Model B was also able to
achieve an improved level of production efficiency compared to Model A, which is based
on current actual output of the facility. Lastly, Model B maintained the anticipatory
inventory levels given by Model A without the need to impose direct inventory
constraints.
The third detailed production model, Model C, minimizes product loss and lost
production time through optimal production sequencing. The model has not been fully
implemented within the timeframe of this project but a review of previous sequencing
research and the design for the third model are presented in chapter 7. The results from
Models A and B do not depend on the completion of Model C so the system is still
functional without the last modelling level. When the detailed model is built, it will be
linked into the hierarchical structure by constraining it to schedule the products and run
lengths chosen by Model B. In the mean time, this task will continue to be carried out on
paper by the production scheduler.
Chapter 8 summarizes the findings, challenges, and observations resulting from this
work. The lack of existing research in the food industries and ice cream in particular
necessitated a novel approach to the production inventory problem. General approaches
and previous projects served as useful starting points and enforced the notion that
practical implementations require considerable effort and customisation for maximum
impact.
The data examples used throughout this thesis are presented for illustrative purposes
only. In the interest of confidentiality, they have been selected to be representative of the
company's typical production characteristics and should not be interpreted as direct
values.
Chapter 2
The Ice Cream Production Process
Production and inventory systems are complex structures, constrained by production
capacities, storage space, labour availability, technological capacities, demand
requirements, and customer service levels. Expenses to be considered include the cost of
production, labour, setups, transportation, inventory holding, and overhead. Stochastic
demand forecasts and production throughputs are common and necessitate adaptive
solutions to account for the discrepancies between expected and actual outcomes. To
appreciate the challenges of modelling ice cream manufacturing it is useful to understand
the details of the process itself. This section provides an outline of the production process
with distinct attention paid to the areas that are most difficult to model.
Before this project began, the company made the long term, strategic decision to produce
the majority of their ice cream tub products in a single facility consisting of three
production lines and a warehouse. Tubs come in six sizes and can be made from paper or
plastic, with deep or shallow lids, with or without a seal. Product types include economy,
premium, no sugar added, lactose free, and light ice cream, as well as sherbet, sorbet, and
frozen yogourt. In total, the company produces a few hundred unique products, each
identified by their own Stock Keeping Unit (SKU). In addition to the onsite warehouse,
the company has access to some additional warehouses to store and distribute finished
goods. The decisions made at this level focus on how to maximize the use of these
production resources to meet customer demand as efficiently as possible.
Production planning is naturally a top down decision making process. At the highest,
long term level, planners decide how much production capacity to allot in each period
and how much inventory to store to meet demand. The goal is typically to minimize
labour costs and holding costs over a long horizon such as one year. Ice cream demand
follows a distinct seasonal pattern, with peaks around Easter, in the summer, and at
Christmas (See Figure 1 for an example. Units have been intentionally excluded). The
forecast is also subject to uncertainty, particularly because ice cream sales are sensitive to
weather conditions. Customers are most likely to purchase ice cream on hot summer
days. The options available for meeting seasonal demand are changing production
capacities when possible or storing inventory in periods of low demand to help meet the
requirements in periods of high demand. The best strategy or combination of strategies is
not always clear and will depend on the cost of production versus the cost of holding
product. Ice cream production is particularly difficult to plan because both labour costs
and storage costs vary by shift length and product type. Furthermore, although capacity
planning considers a long term horizon to capture the full season of demand, the strategy
may need to be updated regularly throughout the horizon as expected sales and
production differ from the actual outcomes.
/ / +S/SSS
Figure 1  Seasonal Ice Cream Demand Pattern
Unlike many continuous process facilities, ice cream plants can not run continuously. The
Canadian Food Inspection Agency requires that dairy production lines be completely
washed and cleaned every 24 hours. The company typically runs 8, 10, or 16 hour
production days and cleans the facility overnight. Because of the cleaning requirement, a
product's production cannot be shut down at the end of the night and then started up
again the next morning. Assigning labour costs to the ice cream produced during these
shifts is a challenge because the relationship between the workforce size and ice cream
output is not linear. In fact, longer production days are more efficient and less expensive
per litre than short ones. During a 16hour production day, the company can produce
more than twice as much ice cream as during an 8hour production day because there is
one less initial setup and shutdown procedure involved. Longer production days are less
expensive because some labour requirements, such as quality control laboratory work,
can be spread out over the longer hours rather than increased. For example, two
laboratory technicians are required each day to test product and address any quality issues
that may arise during production. During an 8hour shift, both technicians work the same
8hour shift together. During a 16hour shift, one technician works the first 8 hours, the
second works the last 8 hours, and the two of them share the product testing for the day.
Therefore, it is more cost effective from a production point of view to schedule 16hour
production days versus 8hour days. However, with the exception of the summer months,
16hour production days produce far more ice cream than is needed to meet present
demand.
If the decision is made to schedule longer, more efficient production days, then the excess
product must be stored in frozen warehouses at 20F until such time that it can be sold.
Cold inventory storage and transportation is expensive and must be carefully planned to
minimize costs. Costs are typically calculated per pallet of finished goods and vary from
product to product. Items are batched and wrapped on pallets for easy storage and
handling, and depending on the size, type, and method of packaging preferred by the end
customer, a pallet can contain anywhere from 800 to 1600 litres of ice cream. The other
cost associated with storing inventory is the cost of having money tied up in inventory,
typically represented as some percentage of the product value per year. Expensive
premium products represent a higher investment than economy goods. Because the
storage and holding costs vary across product groups, determining an optimal balance
between efficient labour schedules and low holding costs requires extensive analysis.
10
May to meet the summer demand peak. Unfortunately, no method of comparison between
the costs of various strategies exists, and management can only speculate on which is
best. A tool that can trade off the cost of production versus the cost of storage for each
group of product will help management make an informed decision. The tool must be
designed to accommodate changes in the forecast, both immediate and in the future, due
to weather conditions or other factors such as last minute flyer promotions.
Once the production and inventory levels for each period have been established, the
operations coordinators are responsible for determining the short term production demand
on a weekly basis. Production demand is list of the SKUs to produce in the upcoming
week to meet demand and maintain safety stock levels. Considerations at this stage
include the current inventory levels for each product, the forecast for the next few
months, and minimum run lengths for each product. Forecasts are more accurate in the
short term as customer orders are received and information on upcoming promotions
becomes available. The production demand is then passed to the production scheduler,
who is responsible for sequencing the products into a detailed weekly schedule in the
most efficient way possible. To appreciate the challenges at these levels of decision
making, it is helpful to understand the intricacies of the production process itself.
First, milk is delivered from farms across the province and stored in milk tanks at the
plant. The base mix for each product is prepared the night before production by
combining milk and other mix ingredients in a large blender (Figure 2). Once blended,
mix is piped into one of several pasteurizing vats, where is it heated to kill any bacteria.
To avoid damaging the tank during the heating process, the vat must be completely full,
which constrains the amount of mix that can be produced to a small or large batch. The
pasteurizing stage forces an otherwise continuous production process into a fixed batch
procedure. After pasteurization, the mix is piped through a homogenizer and a plate
cooler before arriving in one of eight storage tanks. The mix sits in these tanks to age
overnight.
11
When the three production lines start up each morning, the mix is pumped from the tanks
down to the production floor and into flavour vats. There, flavours such as strawberry,
orange, or mint can be combined with the mix to create a unique ice cream. The product
is then chilled in a small freezer and the proper portion of air is whipped into the mix to
improve its consistency. Next, inclusions such as fruit, nuts, or ripples are added. Then
the finished ice cream product is poured into tubs that are lidded, coded, sealed, and
passed through a metal detector. All finished products enter the spiral freezer where they
are chilled over the course of four hours and emerge hardened and ready for storage. All
products are stored in the adjacent warehouse until the quality laboratory clears it for
sale, which generally takes two to three days.
The basic components of the ice cream manufacturing process presented here are
standard in the industry (Goff, 1995). Although the mechanisms used at each individual
stage may vary from one manufacturer to the next, the flow of product and necessity of
each stage remains unchanged. For example, some companies utilize continuous
12
pasteurization procedures, removing the need to produce mix in fixed batch sizes, but the
need for pasteurization itself does not change.
The facility currently runs three production lines with the possibility of installing two
more in the next few years. The lines are very similar but do have slightly differing
production speeds and capabilities. Line 1 is typically used to produce the large 11.4L
tubs and premium 1L products. Line 2 is the only line with three separate flavour vats for
producing neapolitan ice creams. Many products can be produced on all lines, some can
only be produced on one line, and all products have a "preferred" line that the operations
and production managers favour. The operations coordinators and production scheduler
must be conscious of these line restrictions when scheduling products or they may
schedule production demand that can not feasibly be produced in one week.
As mentioned, mix must be produced in one of two possible batch sizes to avoid
damaging the pasteurization tanks. Mix is expensive and the company is continuously
working to minimize mix loss. Therefore, when a batch is produced, all the mix should be
converted into finished goods. Because mix lasts for 48 hours after production, finished
goods must be scheduled for production within two days of the mix production. In other
words, the mix batch restriction translates directly to a constraint on the amount of
finished goods that can be produced at one time. The problem is further complicated by
the fact that one base mix can be converted into many different finished good products
through the addition of flavours and inclusions later in the process. For example, butter
pecan or mint chocolate chip ice cream both start out as a premium white mix. In fact, to
produce the company's hundreds of distinct finished goods requires only a few dozen
base mixes. The relationship between the base mixes and finished goods, combined with
the batch size restrictions for mix production, creates an interesting problem for
production coordinators. Scheduling products with the same base mix in the same week
spreads out the impact of this restriction among all products and simplifies mix
production coordination.
13
Common base mixes also affect changeovers procedures. Each line can produce multiple
finished goods per day. The three main types of changeovers required are, in order of
complexity, a packaging change, a mix change, and a flavour change. Some changeovers
are a combination of all three types. Changeovers involving packaging must be
performed by maintenance staff and are the most time consuming. To switch between
two base mixes, the line operators must flush out all mix in the freezer and on the line.
The leftover mix is unsalvageable and results in significant product loss. A flavour
change involves switching between two products with the same base mix but different
inclusions. The process only requires cleaning specific sections of the line and most of
the mix is saved. Flavours or mixes containing allergens, such as peanuts, wheat, or
bacterial cultures cannot be properly cleaned out of the system during the day and must
be produced at the end of the production day so they can be eliminated from the system
overnight. The production scheduler is concerned with all these production components
when attempting to develop the weekly production sequence. The operations coordinators
make their decisions independently of the production process and when products with the
same base mix are scheduled for production in the same week it is only by chance.
Due to significant product loss and lost production time, setups are expensive relative to
the value of the product, and run times should be sufficiently long to justify the cost of
the changeover. The production scheduler has developed a list of minimum run lengths
based on rough estimates of what is considered acceptable by the production manager,
but these estimates are not based on setup and holding costs or production data. The run
lengths also do not correspond to the estimated run out time of the products. Lastly, the
production scheduler is constrained by the labour schedule dictated by the branch
manager. If the production demand does not utilize the entire schedule then the scheduler
may increase some run lengths or look ahead in the forecast and add another product that
is close to running out. When the production scheduler has finished, the resulting run
lengths have little to do with mix batch sizes, although the scheduler does attempt to
minimize the total number of mixes needed each day. Clearly the current approach is
time consuming, subject to human error, and not guaranteed to be optimal.
14
The company needs a system than can provide decision support at all three levels of
management. The highest level will help plan labour and inventory requirements on a
long term horizon. The short term model minimizes setup and holding costs while
reducing mix loss through setups and limits the number of mix types produced per day.
The final model will optimize machine sequencing. Most importantly, the models link
together so that the more detailed decisions meet the goals set out by the aggregate levels.
With the help of these models, management can make faster, better decisions at each
stage in the planning process.
15
Chapter 3
Background on Production Planning in Process Industries
The characteristics of a production process determine which strategies for planning and
scheduling are most appropriate. Discrete manufacturing begins with many raw materials
that converge to produce only a few distinct finished goods. Process industries are
businesses that add value to raw materials by mixing, separating, forming, or chemical
reactions. Fransoo and Rutten (1994) expanded on the process definition and noted that in
general, many finished goods are produced from a limited number of initial ingredients.
Processes may be either continuous or batch and generally require rigid process control
and high capital investment. Food production is often categorized as a process industry
and ice cream manufacturing is no exception, transforming milk and other raw
ingredients into a more valuable finished product through mixing, heating, and freezing.
Most production and inventory literature tends to fall into one of three categories:
discrete manufacturing, industry specific, or highly generalized. Discrete manufacturing
has received the most research attention with the development of justintime scheduling,
Kanban systems, job shop scheduling algorithms, material requirements planning,
enterprise resource planning, constant workinprogress systems, and much more. From a
high level perspective, some of the applications developed for discrete manufacturing can
be adapted for continuous processing. Unfortunately, for the more detailed planning and
scheduling requirements, discrete systems fail to address the needs of process industries.
Crama, Pochet, and Wera (2001) note that continuous processes often deal with
perishable materials, detailed routing information, and much more complicated
scheduling requirements that discrete systems are not designed to address.
Surveys of the process planning literature have shown that, of the few comprehensive
examples of production planning in a process environment, most focus on industry
specific solutions to a problem rather than attempt to develop general approaches
(Fransoo & Rutten, 1994; Loos & Allweyer, 1998; Dennis & Meredith, 2000). Dennis
16
and Meredith (2000) suggest that this is because "the process industries have traditionally
been lumped together and contrasted from the discrete industries as a whole, thus leading
to misunderstandings regarding individual process industries," Not all continuous
processes are created equal, and concepts that are applicable to one may be unsuitable to
another. Rather than spend time worrying about how a particular approach can be adapted
for other industries, the research focuses on solving the problem at hand. The result is a
collection of practical and valid models that are specifically tailored to a particular
industry and are difficult to adapt for any other use.
The generalized process planning literature formulates important groundwork for process
scheduling but normally does not consider the practical applications of the material.
Simplifying assumptions are used to develop the methodologies but these assumptions
rarely apply in real scenarios. Examples include assuming constant demand, nonsequence dependent setups, unlimited capacity, fixed capacity, insignificant holding and
setup costs, and more. The research also tends to address extremes, such as a purely
process flow oriented system or a purely batched system. Some of the decisions involved
in developing an effective, valid real world model include how to calculate and estimate
data, aggregate information into appropriate groupings, identify production constraints,
and develop a forecast. General work focuses more on the models and their structures
than how to effectively implement them with real data. Translating the general research
into applied research requires considerable creative effort.
The purpose of this section is to summarize the existing research on production and
inventory management systems for process industries and confirm that the work
presented in this thesis is original and valid. There is currently no literature available on
productioninventory systems for ice cream manufacturing. Some modelling applications
have been applied to production processes that are similar to ice cream, and these serve as
useful examples of the implementation process and demonstrate its validity in an
industrial setting. However, each of the systems is closely tailored to a particular industry
and is not suitable for direct application to this problem. The general research is useful
because it is described in broad terms and can be adapted to a variety of scenarios.
17
Hax and Meal's hierarchical breakdown is notable in production planning because it was
designed to mimic a company's general managerial structure and allow for overrides at
each step in the solution. The models themselves are less adaptive to other industries
because they are tailored to a rather simplistic manufacturing process with a constant
production capacity and no sequencing concerns. The models also ignore the trade off
between setup costs and holding costs and instead determine run lengths based only on
18
equalizing run out times and meeting family demand levels. Nevertheless, the
hierarchical structure and basic foundations of Hax and Meal's models provide a very
useful framework for use in industry.
SmithDaniels and Ritzman (1988) developed a general lot sizing model for process
industries and applied their method to a situation representative of a food processing
facility. They noted that determining optimal lot sizes in a fixed capacity environment
with significant setups is nearly impossible. The problem is compounded by sequence
dependent setup times that affect whether any feasible production schedules exist for a
particular set of products. To address the effect that sequencing has on proper lot sizing,
they developed a mixed integer programming model that could make both decisions
simultaneously.
SmithDaniels and Ritzman's model does not consider the high level decision of how to
plan production for the aggregate long term. The model is intended for a production
facility that operates at maximum capacity so planning workforce levels is not necessary.
The facility also produces continuously with no shutdowns. In the case considered in this
thesis, the strict regulations imposed on dairy production requires that the system be
completely cleaned and sterilized each night, effectively resetting the starting conditions
each morning. There is no opportunity to produce uninterrupted, and this significantly
affects the modelling requirements. The model also allows for the consideration of
multiple production stages with inventory storage between each stage. The multistage
extension makes the model significantly more complicated than the ice cream problem
necessitates, and the assumption of an uninterrupted production facility makes the results
inapplicable to a facility with daily shutdowns.
In 1989, the Kellogg Company developed a largescale linear program called the Kellogg
Planning System (KPS) to help manage the production, inventory, and distribution
schedules for their cereals and other food products (Brown, Keegan, Vigus, & Wood,
2001). The KPS is a very large representation of Kellogg's entire production and
distribution system. Much of the system's implementations are for tactical planning, such
19
as where a certain product should be produced or where a new facility should be located,
but it also handles the production schedules of over 600 SKUs in 27 locations on roughly
90 production lines. At the operational level, the KPS determines appropriate production,
packaging, and inventory schedules on a weekly timeframe for the next 30 weeks. The
problem is modelled as an MIP with 100,000 constraints, 700,000 variables, and 4
million nonzero coefficients and solves in two to four hours.
The developers of the KPS estimate that it will save the company between $35 and $40
million annually when the project is complete. The system suits Kellogg's planning needs
although there are plans to improve the system in the future. The model does not account
for cost savings realized through appropriate product sequencing and is also unable to
prevent impractical production run lengths from being scheduled. The model is
constrained by labour schemes that have been decided upon beforehand rather than
allowing the model the flexibility to choose its own labour scheme. Perhaps most
importantly, the model does not allow managerial input at each level of decision making.
Once the model is solved, production managers gather together to discuss the results and
use them as a basis for planning production in their plants. If the model assigns a product
to a particular plant based on minimising cost but management would prefer to produce it
closer to the end customer for service level purposes, then the only course of action is to
make the changes and update the entire model. In fact, the authors estimate that the KPS
is run roughly 30 times a month to answer a variety of whatif questions.
changeover times. The production facility under consideration included both maketostock and maketoorder items with sequence dependant changeover costs. The authors
noted a lack of existing literature in both the maketoorder and sequence dependant
cases. Similarly to the KPS model, labour availability is fixed and imposed as a constraint
20
on the model. Production capacity and inhouse storage are other major considerations, as
is the fact that the production lines are nonidentical.
The allocation model in this hierarchal structure uses an average production speed that
includes setups and therefore does not select optimal product run lengths. Instead, it is
concerned only with allocating each group to the line that will produce it the most
efficiently. Allocation among lines is less of a concern at the ice cream facility where the
difference in speed and production quality among the machines is almost negligible. In
addition, the allocation model is only capable of scheduling a maximum of one month's
worth of product at a time regardless of whether it is optimal. Also, because this model
can split up production of a family among multiple lines, some additional disaggregation
is required before the information is passed on to the third model.
Allen and Schuster (1994) developed a hierarchy of models to help with the often trial anderror decisions frequently encountered in the process industries. Their research
adapted the hierarchical planning method for Welch's, a maketostock food
manufacturer. Products were aggregated into families based on shared setup costs and
family requirements were calculated for the next 6 months to minimize setup and holding
costs. Their family planning model differed from most hierarchical models in that it
combined the aggregate and disaggregate problems into one. It solved for four weeks into
the future (with setup costs) as well as the next five months into the future (ignoring
setups costs). If a family was produced in the first four weeks, then its setup cost was
included in the objective function and its setup time was subtracted from the available
production hours. Then a disaggregation of the family plan attempted to meet the family
model production as closely as possible by penalizing production deviations in the
objective function while minimizing holding and setup costs. The entire system can be
implemented on a spreadsheet in only 2 minutes per production line. To maintain
simplicity and ease of computation, optimality was sacrificed in the disaggregate model
and each family had to be individually disaggregated.
21
The Welch's models are complicated by the need to include flexibility for maketostock
products and simplified by dedicated production lines. By forcing the disaggregate model
to match the family planning production so closely, no consideration is given to optimal
lot sizes and producing for an integer number of future periods. The models also do not
consider any highlevel decision making such as yearly labour schedules. Instead, regular
and overtime production is calculated directly in the family planning model. Developing
the detailed schedule at the lowest level is also left up to the production scheduler.
Although it is generally agreed that a hierarchical planning approach is appropriate for
large scale problems, the best method of implementation is still widely debated.
Specifically, the method of aggregating and disaggregating information for the purpose of
decision making has many company specific interpretations. As well, the appropriate
number of levels in the hierarchical structure depends on the individual industry in
question. Hax and Meal's fourlevel hierarchical structure has been adapted to a variety
of manufacturing scenarios and appears often in other literature (Bitran, Haas, & Hax,
1981; Erschler, Fontan, & Merce, 1986; Silver, Pyke, & Peterson, 1998). Bowers and
Jarvis (1992) developed a different threestage hierarchical system while Allen and
Schuster's (1994) hierarchical model incorporated only two levels of decision making.
All the modelling examples presented here utilize finitehorizon models to schedule
production for an infinitehorizon process, a method which is effective if properly
implemented on a rolling schedule. The problem is that most planning models are
required to meet the demand forecasts in every period, and forecast data is uncertain and
subject to change, particularly as it extends further into the future. As Baker (1977) points
out in his study of rolling schedules, "if a firm is to operate indefinitely, an optimal set of
decisions would depend in principle on data from an infinite number of future periods."
Because demand forecasts have their limits and are most reliable in the immediate future,
it is appropriate to utilize methodologies that can ignore the unreliable future information
and adapt to changes in the immediate forecast. A rolling model plans for several periods
into the future but only the first period is actually implemented. When the next period is
ready to be scheduled, the model is updated with current information and solved again.
22
The implementation can continue indefinitely as long as the production process itself
does not change.
Baker (1977) conducted an experiment in which a dynamic lot size model was
implemented on a variety of rolling schedules and the results were compared against an
optimal solution solved using the Wagner Whitin method. The experiments covered
multiple finite horizon lengths, varying replenishment cycles, and constant, trend, and
seasonal demand. Baker found that rolling schedules on average produced results that
were within 10% of optimality, and that this could be improved to 1% with proper model
construction. He concluded that welldesigned rolling scheduling models can produce
efficient and dependable results in an uncertain, infinitehorizon environment.
The applications presented here have a variety of advantages, but none of the systems can
be directly applied to the ice cream production process. Meeting the unique needs of this
food processing industry requires additional consideration. The existing models and
hierarchical schemes demonstrate that such systems are both attainable and valuable to a
company. The production environment presented in this thesis required further research
to evaluate these models and other general applications to modify them to manage a high
volume, multiproduct, continuous and discrete production facility with significant
changeovers.
23
various production planning structures and explore their advantages and disadvantages as
they relate to ice cream production.
An even simpler classification breaks the problem down into a two level framework
based on planning versus scheduling (Birewar & Grossmann, 1990). At the macro level,
planning is concerned with the allocation of capacity and resources and covers an
extended period of time such as months or years. At the micro level, scheduling is
concerned with optimizing the use of the available resources through proper sequencing
and lot sizing decisions.
Regardless of how the levels are defined, it is clear that decisions made at each level have
strong interactions with one another and treating them in isolation can result in
ineffective production systems. Strategic and operational decisions are often made
independently because the higher level plans are too general to provide useful operational
boundaries in the short term. This leads to detailed operational decisions that may meet
monthly or weekly demand and production capacities but fail to uphold the annual
production plan. Mathematically speaking the problem takes on the form of infeasible
solutions or suboptimization problems. To manage this problem, it is important that the
solution to the high level subsystem be imposed as a constraint on the next level in the
structure. Linking the levels of the hierarchical structure is difficult because the decisions
24
are often concerned with varying levels of detail and an appropriate linkage method may
not be initially clear.
Some early research focused on modelling the process as a whole and solved for all
decisions simultaneously, from long term planning to short term scheduling (Manne,
1958; Dzielinski & Gomory, 1965; Lasdon & Terjung, 1971). Monolithic models such as
these can be challenging or even impossible to fit to a particular production and inventory
management system. Simplifying assumptions are generally needed to adapt equations to
the processes and these approximations detract from the model's accuracy. Monolithic
models are not designed to accept managerial input at the various levels within the
decision making structure. In fact, the models are typically so complex and difficult to
understand in detail that it is hard for management to interact with the model and it may
be phased out in favour of simpler approaches. The monolithic approach also requires
detailed product data over the entire long term planning horizon, which is often difficult
to estimate and becomes less accurate as it extends further into the future. Solving these
large, complex models requires extensive data collection and manipulation followed by
very computationally
practical
application model solved in two to four hours (Brown, Keegan, Vigus, & Wood, 2001)
and would sometimes suggest unrealistic solutions that required additional adjustments.
Birewar and Grossman (1990) developed a model to solve for planning and scheduling
decisions simultaneously with an LP formulation that they felt could be easily adapted to
a variety of production scenarios. The implementation required first solving an LP model
and then modifying the results to round batch sizes down to integer values. Rounding the
results of an LP model is not straightforward and can significantly affect the model
solution.
Advocates of the monolithic model claim that the HPP approach of subproblem
optimization can achieve only suboptimal results (Graves, 1982). If a system is simple
enough to model appropriately and the company has the processing power and time to
spare, then a monolithic model can provide an optimal solution to a given problem.
However, these results are only optimal based on current conditions and detailed long
25
term forecasts. The moment actual sales deviate from the forecast, unplanned downtime
affects production, or products are added or discontinued, the plan is no longer viable. In
a situation with any uncertainty, whether in sales, production, transportation, or storage,
the optimal short term plan is almost sure to change.
Other methods of management take a different approach and suggest that the level of
planning detail paid to each individual item should decrease based on its overall impact
on the company. The ABC classification suggests that it is common for 20% of the SKUs
within a company to account for 80% of total annual dollar usage and decision making
should be allocated accordingly (Silver, Pyke, & Peterson, 1998). A common suggestion
is that the top 55% to 65% of the total SKUs be monitored by computers and decision
systems, while the remaining SKUs, which are numerous but account for a small amount
of total dollar investment, should be managed in aggregated groups and with simple
monitoring systems.
Silver (2004) discusses a variety of methods for solving large mathematical models. One
solution is to use heuristics, which are applicable in situations where the problem being
modelled is too large to optimize and simplifying assumptions are required. More
specifically, "problem decomposition and partitioning" is a heuristic that consists of
taking a complex problem and reducing it into simpler subproblems that can be solved
independently, sequentially, or iteratively. The sequential solution method is applied to
production planning by first solving an aggregate plan, then a family schedule, followed
by a detailed plan. Aggregated high level plans ensure that long term considerations are
taken into account when making short term decisions. Short term plans must be designed
to adhere to the constraints imposed by the long term models while optimizing variables
on a more detailed level. This particular type of problem decomposition and partitioning
is the basis for what is known as Hierarchical Production Planning (HPP).
26
Buzacott, 1995; Loos & Allweyer, 1998) while only one paper (Buxey, 2005) was found
that suggested implementing any sort of mathematical production plan is a wasted effort.
Bitran, Hass, and Hax (1981) developed two approaches to hierarchical planning with
"equalization of runout time" and "regular knapsack method" disaggregation procedures.
They conducted an experiment based on data from a rubber tire manufacturer to compare
the results of their rolling horizon HPP methods with optimal, perfect knowledge MIP
fomulations. The tests demonstrated that the HPP system was an effective method to plan
production and scheduling at the tactical and operational levels. Their results were near
optimal without requiring the same level of significant computational power and data
collection. In addition, the MPI solution times were impracticably high compared to the
quick sublevel HPP optimizations. They also noted the advantage of implementing a
system that parallels the hierarchical structure of management levels within a company
and allows for interaction at each step.
McKay, Safayeni, and Buzacott (1995) note that in some cases, traditional HPP methods
can be easily applied with few changes, while other situations require extensive
modifications and even others are completely unsuited to HPP. The differences between
industries that cause problems include the range of complexity of the production
structure, the importance of changeover times and costs, the possibility of campaign
scheduling, the stability of product demand and product shelf life, and more (Loos &
Allweyer, 1998). As a result, the number of levels in an HPP is not a prescriptive value
that can be applied to all manufacturers. Some research has been developed with only
two levels, while others have gone as high as seven. The decisions made at each level can
also vary greatly, and again depend on the type of manufacturing setting in question.
Lastly, feedback can be passed from a lower level up to a higher one, indicating the
quality of the decisions made. However, the higher level will likely not have enough
information available to understand the reasons for this quality, and can only guess at
possible improvement measures. McKay et al feel that in rapidly changing industries
(electronics, ceramics, etc.) an HPP is not a suitable method for scheduling, as the lack of
communication between levels makes it impossible to handle so much uncertainty.
27
A cautionary note is found in Buxey's (2005) paper on reconciling theory with practice.
Buxey conducted a survey to determine why production managers fail to utilize the
aggregate planning tools available to them, and instead prefer to develop their own crude
methodologies. Buxey's case study consisted of interviews with management from 42
manufacturers in SouthEastern Australia. The plants varied widely in size, production
practices, and demand peaks. He summarized his findings and categorized the strategies
used by each company as either "level", "chase", or "mixed". He found that no company
was using any aggregationdisaggregation methods.
Buxey concluded that further refinements of aggregate planning and mathematical
techniques would be wasted efforts and that every operations manager should employ a
chase strategy. He felt that flexibility and justintime production were the most
important ideals for every production facility to consider, and that longterm planning
issues can be handled with a bit of (semi) aggregate longterm forecasts and lastminute
manoeuvring. What Buxey's research does show is that successful planning systems must
have the support of all levels of management. The system must be easy to implement,
update, and solve on a regular basis. The end users must be considered at each step in the
process and the system must be designed to meet the needs of the company as a whole, or
the system is unlikely to be utilized.
28
Chapter 4
The Hierarchical Modelling Approach
This chapter details the selection, development, and resulting design of the hierarchical
modelling approach used to build the production and inventory management system. Also
discussed is the centralized database built to coordinate data between the three models.
The modelling approach chosen for this problem is an integrated series of hierarchical
production models that plan for production on an annual, weekly, and daily time frame.
By breaking the problem into small manageable pieces, it can be solved quickly and
accurately.
The breakdown shown in Figure 3 is designed to coincide with the company's existing
management structure. Each of the three levels and their corresponding models represent
a decision support tool designed to provide management with the knowledge they need to
make quick and informed decisions. The production process described in Chapter 2
outlines the long term decisions made by the branch manager, the weekly scheduling by
the operations coordinators, and daily sequencing by the production scheduler. The threelevel hierarchical breakdown used here corresponds with these levels. At each stage, the
centralized database provides the models with the data they need to make informed, up to
date choices. Once the model output has been implemented, the actual production
characteristics may change and can be fed back into the system to keep it up to date.
Linkages between the outputs of the high level models and the constraints imposed on the
lower level models help keep the system results feasible from one stage to the next.
29
Branch
Manager
DATABASE
LP MODELS
MODEL
OUTPUT
Holding Costs
Labour Costs
Yearly Forecast
Model A:
Min holding and
labour costs
Labour
Schedule by
Month
Long Term
Production and
Inventory Levels
Production List
with Run
Quantities by
Cycle Stock
Inventory Levels
Weekly Forecast
Setup Costs
Holding Costs
Operations
Coordinators
Production
Scheduler
Production
Matrix
Cost Matrix
Sequencing
Rules
Changeover
Cost Matrix
Model B:
Min holding and
setup costs
Model C:
Min setup costs
ACTUAL
Week
Weekly
Sequencing,
Line
Assignments
Actual Line
Capacity
Figure 3  Hierarchical Production Plan Flowchart for Ice Cream Production System
4.1
All model data is pulled from a central database that was designed to provide the
company with a single location for recipe storage and reports on ingredient requirements,
product costing, and mix schedules. The reports provide valuable information to the
production schedulers, the financial department, branch managers, and the research and
development team. Model data stored in the database includes aggregated forecasts,
holding costs, production costs, labour costs, sequencing restrictions, and more. Because
keeping the database information up to date provides the company with immediate
benefits in addition to accurate model data, the end users will be motivated to maintain
the data. The database is also designed to facilitate updates by allowing the users to input
data in the most convenient manner possible.
Information stored in the database includes the ice cream recipes, raw material costs and
descriptions, detailed finished goods information, product groupings by type and family,
the yearly production forecast, warehousing details, and labour costs. The recipes, raw
material costs, and target weight for each finished good are used to calculate the standard
cost of one tub of product. The tub cost is used to calculate the holding cost for each
30
product as a function of dollars invested in inventory. The product groupings by type and
family are used to aggregate storage costs, production costs, and demand for use in the
models. As new products are added, the production scheduler is responsible for assigning
the new products to an appropriate group and family. The recipes and raw material
descriptions provide valuable allergen information about each product and are used to
produce a list of sequencing restrictions for production. The production scheduler and the
research and development department are responsible for maintaining the database
information and ensuring it is always up to date. Some database information such as raw
material costs and finished goods inventory is pulled directly from the company's internal
database and does not require any redundant data entry.
All the data needed for this model is entered into the database in a format that is easy to
understand. The database then manipulates this information into the necessary units such
as "production rate in terms of 2L tubs" or "freezer utilization" with a few simple queries.
The database also aggregates data quickly and easily so it can be directly imported by the
models. The modelling software pulls this information from the database automatically,
limiting the amount of interaction between the model and the end user.
31
year horizon. The objective of the model is to minimize labour and inventory holding
costs in a seasonal environment with limited capacity. The model is based on aggregated
product data because many products share similar production and storage characteristics.
For example, products of the same size tend to have similar production speeds and take
up the same amount of space in the warehouse. By grouping these products together, the
model complexity is reduced but the resulting labour schedule and inventory levels are
still accounted for in the model.
32
independently of one another and sequencing considerations are ignored at this stage.
Considering some of the detailed sequencing issues at this early stage could result in
significant cost savings for the company. For example, if a 2L neapolitan product will run
out in week 1 and the 4L neapolitan production will run out in week 2, then it may be
beneficial to produce both products in week 1 and save significant setup costs. These
types of benefits are currently ignored because it is difficult to coordinate the production
of hundreds of products without the added difficulty of sequencing considerations.
Model B uses a rolling planning approach to develop an improved production plan from a
given weekly state consisting of starting inventory levels and upcoming product demand.
The plan dictates which products to produce and their run quantities by week for a
number of upcoming weeks. A 13week horizon was chosen to coincide with the
maximum leadtime needed to acquire raw materials, but the horizon could easily be
extended or shortened as needed.
The problem is modelled as a mixed integer program that minimizes setup and inventory
holding costs while meeting demand and the labour schedule imposed by Model A. The
model is based on aggregated product families, where a family is a group of SKUs that
share a common setup procedure. Grouping the products into families speeds up model
computation time and forces the model to schedule groups of products that will benefit
from being scheduled together. The resulting production plan includes run quantities
designed to last for an integer number of future periods and accumulates any necessary
seasonal stock inventory as defined by Model A. The operations coordinators will use the
resulting plan as a basis for developing a feasible production demand schedule each
week. A detailed discussion of Model B is in chapter 6.
4.4
The production coordinators supply the production scheduler with the list of products and
their run quantities to be produced in the upcoming week. The production scheduler is
responsible for developing a detailed production plan by assigning each product to a line
33
and sequencing them in a way that reduces mix loss and obeys all allergen constraints.
The process takes two to three hours to complete each week and relies heavily on the
expert knowledge of the production scheduler.
Model C creates a production sequence for the upcoming week consisting of the products
and run quantities selected by Model B. The sequence is constrained by the allergen
restrictions and the production capacities of each line for each day. The objective of the
mixed integer programming model is to minimize changeover costs, which are directly
related to mix and ingredient loss. Setup times and costs are sequence dependent and a
satisfactory schedule will order the products in the least expensive progression. The
model will save the production manager time by creating a feasible production schedule
for the week that can be modified if necessary or implemented directly. A discussion of
Model C is in chapter 7.
34
Chapter 5
The Aggregate Planning Model: Model A
Model A is the first and highest level in the hierarchical planning structure. The objective
at this stage is to plan aggregate production and inventory levels to meet demand in a
dynamic, seasonal environment at the least cost possible. Planning for changing demand
patterns can be difficult, and some ice cream demand can increase by over 600% in the
summer months. When faced with changing demand, inventory can be accumulated
during slack periods to meet demand in peak periods or the size of the work force can be
varied to increase or decrease production rates as necessary. Determining the appropriate
strategy involves comparing the cost of different workforce sizes and the cost of storing
excess inventory. The problem is constrained by factors such as the maximum capacity of
the manufacturing plant and the amount of storage space available.
The model developed to address these long term issues provides a labour and inventory
plan that minimizes holding, transportation, labour, and production costs while meeting
the demand forecast for at least one demand cycle. The planning horizon covers 12
months into the future because ice cream has a pronounced yearly seasonal demand
pattern that must be captured by the model. The model can easily be adapted to utilize
different time periods or horizons if needed. A minimum safety stock level is maintained
at all times and backlogs are not permitted. By selecting an appropriate labour scheme,
production level, and inventory level for each month of the year, the model calculates a
yearly plan that is clear and easy to impose as a constraint on the more detailed stages of
production planning.
35
Indexes:
I
T
Data:
COjt
CIjt
SSjt
Djt
Rt
Ot
ri
Variables:
R;t
Ojt
lit
Minimize:
XiZtCOuOit + XiXtChtiit
Subject To:
vt .
(HM. 1)
ZiOit<ot
vt
(HM. 2)
Vi,t
(HM. 3)
ht>SSit
(HM.A)
The objective function minimizes the cost of overtime production and inventory storage.
Equations (HM.l) and (HM.2) ensure that the total production allocated to each product
does not exceed the regular or overtime production hours available. Equation (HM.3) is
an inventory balance constraint that ensures demand is met from existing inventory or
production in each period. Equation (HM.4) constrains the inventory level of each
36
product to its safety stock level or higher. By selecting the optimal values for Rjt and Ojt,
the model effectively chooses the values for I;t, also known as the seasonal stock
requirements.
Hax and Meal's model is a close representation of the ice cream production process with
some exceptions. Labour availability for the ice cream facility is not fixed and production
capacities can be increased or decreased in each period because the plant is not operating
at maximum capacity. Determining when to produce each product individually is not of
particular value since the actual demand is likely to vary from the forecast at this high
level. Products can be very effectively grouped together by tub size and brand to
determine line speeds, warehouse utilization, and costs.
Time periods were chosen as discrete months consisting of four or five weeks based on
the company's current yearly breakdown. The model is also based on product groups,
where a group is a selection of products that share common production rates and storage
utilizations. Typically, products with the same tub size make up a product group. A more
detailed discussion on product groups is found in section 5.3.1. Demand and inventory
are expressed in tubs, where a tub represents one finished good. Production utilization is
expressed in terms of the capacity requirements to produce a standard 2L vanilla tub
37
(2Ltub). Converting the utilization to a common form of measurement accounts for the
fact that ice cream production is not a linear utilization function per litre. Warehouse
capacities are measured in pallets (pal) of space, and the space required to store one tub is
equal to the inverse of the number of tubs that fit on a pallet. The spiral freezer can
process a fixed amount of ice cream per hour, regardless of tub size or any other factor.
Freezer capacity is expressed in litres per shift (L/sf) and utilization is the litres in each
tub. The indexes, data, and variables used to develop the model are presented here
followed by the model formulation.
Indexes:
K
T
L
W
S
L(k)
K(l)
W(k)
S(t)
Data:
pckn
hckwt
dkt
test
sc+kwt
sc'kwt
luki
lcsit
ftik
fcst
wuk
wc w
Variables:
Pkit
Ikwt
Yst
S+kwt
38
S'kwt
Minimize:
2_, Pckltpklt + ^ ^
YY
t
JGL(fe)
+ }
t
2_,
hc
kwtlkwt
weW(fc)
7
}
isckwt^kwt
k wew(k)
sc
kwt^kwt)
+ )
t
}
^st^st
ses(t)
Subject To:
= Y
^t+YaPklt+
wew(k)
lL{k)
lu
kiPMt ^ Y
Y
kEK(l)
keK.we
5fc+wt
(Al)
kEK,tET
(A2)
lEL,tET
(A3)
weW(k)
ksltYst
S65(t)
Y YfUkPku  Z/Cstrst
k
w(k),tsT
teT
(A4)
ses(t)
Ywu^kwt
^wcw
tET,wE
W(k)
(A5)
*t=i
teT
^ 6 )
SES(t)
Put ^ 0,/ fewt > 0,Sfc+wt > 0,Sfewt > 0,Yst E {0,1}
The model objective is to minimize production, holding, shipping, and labour costs.
Equation (A.l) is an inventory balance constraint that forces the current inventory level to
equal to the previous inventory level plus shipments into the warehouse and minus
shipments out of the warehouse. Only one of the shipping variables will be greater than
zero for each instance of this constraint. Equation (A.2) ensures that demand is met from
current production or existing inventory by shipping products out of warehouses as
needed. Backlogs are not an option for this manufacturer.
39
Equations (A.3), (A.4), and (A.5) are capacity constraints for the lines, freezer, and
warehouses. In Hax and Meal's model, the only capacity constraint is the number of
available hours of overtime and regular labour. In this case, production is limited by the
line availability and the spiral freezer. Although each line operates essentially
independently of one another, all three lines feed their finished product into the spiral
freezer. Equation (A.3) constrains the production on each of the three lines and equation
(A.4) constrains the total production being fed into the freezer. Hax and Meal's model
also assumes that inventory storage is limitless. For the case considered here, onsite
storage space is limited and the company has three additional warehouses for outside
storage. Their capacities and the cost of transferring product to and from each warehouse
are constrained by equation (A.5).
Equation (A.6) assigns exactly one labour scheme to each period. For each period, the
model must choose only one scheme and the costs and capacities associated with it by
turning on or off a binary variable. Each scheme specifies the number of hours available
on each line (production capacity) over the course of one week and is based on current
best practices. The weekly labour capacities are converted to monthly capacities by
multiplying them by the number of weeks in each period. This forces the solution to use
the same labour scheme for four or five weeks in a row, which leads to a practical labour
schedule from a personnel perspective. The company normally plans a shutdown for one
week in February to perform a variety of maintenance procedures and this can be easily
accounted for by only allowing three weeks' worth of production in that month for each
scheme. A detailed discussion of the development and design of these labour schemes is
found in section 5.3.3.
5.3
Data
There are obviously no standards for transforming general solutions to real world
problems. Each industry situation is unique and must be evaluated individually. From a
modelling perspective, the units used for the data must be consistent with the constraint
formulations. From the enduser perspective, the inputs should be intuitive and easy to
40
interpret so they can be updated easily. The availability of certain types of data also limits
the options for populating the model. The following sections discuss each of the Model A
data types and how they were developed for this project.
Reducing hundreds of SKUs down to the elementary level of "litres of ice cream
produced" is not practical in this case because different groups of ice cream have varying
associated costs per litre. The size and shape of an ice cream tub determines how many
tubs can be packed onto a pallet and the resulting "litres of ice cream per pallet" can vary
widely from tub to tub. Since inventory storage in the ice cream warehouse is typically
measured on a per pallet basis, this difference will affect ice cream storage costs.
Different products also follow different seasonal demand patterns, affecting production
and storage demands throughout the year. Size and shape also affect the number of tubs
that can be produced per hour, and the result is not a common number of litres per hour.
Premium ice cream costs more to make than economy ice cream, and storing premium
ice cream ties up more funds in inventory. Lastly, not all products can be produced on all
lines. The model must be constrained by the capacity of each line, particularly for line 1
which is usually in high demand.
41
The best way to aggregate the data was not initially clear. If the products were aggregated
too coarsely, then important production and storage costs could not be properly modelled.
If they were aggregated too finely, then the model solution time would not benefit from
grouping the data. Through discussions with the company's production planner, it was
determined that from a cost perspective, the products should first be broken down by size.
An 11.4L tub takes longer to produce than a 2L tub and it has a higher holding cost
because it has a higher value and takes up more space in a warehouse or truck. Table 1
contains a typical example of how product groups might be arranged, where every group
contains only one tub size.
Table 1  Sample of Aggregated Product Groups
Group
Brand
Flavour
Type
Tubs/Pallet
330
330
p05
Brand A
Vanilla
p05
Brand A
Butterscotch Ripple
i/c
i/c
p05
Brand A
Neapolitan
I/C
330
p05
Brand A
Chocolate
I/C
330
p05
Brand B
Butterscotch
I/C
330
p05
Brand B
Vanilla
I/C
330
p05
Brand B
Chocolate
I/C
330
p05
Brand B
Neapolitan
I/C
330
p06
Brand C
Strawberry
I/C
390
p06
Brand C
Chocolate
I/C
390
p06
Brand C
Neapolitan
I/C
390
p06
Brand C
Vanilla
I/C
390
plO
Brand D
I/C
540
plO
Brand D
Divine Chocolate
I/C
540
plO
Brand D
Chocolate
I/C
540
pXO
Brand D
Vanilla
I/C
540
p.10
pll
Brand D
Neapolitan
I/C
540
Brand D
Brand D
SHERBLT
YOGOURT
pll
Brand D
Fudge Brownie
YOGOURT
pll
Brand D
Chocolate
YOGOURT
pll
Brand D
Vanilla
YOGOURT
pll
Brand D
Orange
SHERBET
2
2
2
2
?
2
540
pll
Rainbow
Strawberry
pll
Brand D
Vanilla
LIGHT
540
540
540
540
540
540
42
A breakdown by size is not detailed enough because although some products contain the
same amount of ice cream, the number that can fit on a pallet varies based on the type of
container lid or the way the customer wants them arranged. The number of tubs to a
pallet translates directly to different holding and transportation costs, which are palletbased. Therefore, product groups were further broken down by "tubs per pallet". For
example, in Table 1 group p05 is made up of 4L tubs of varying brands and flavours that
fit 330 tubs to a pallet. Group p06 also consists of 4L tubs of ice cream but these products
fit 390 tubs to a pallet. Because of the discrepancy in holding costs, the two sets of
products were split into different groups.
The value of a product determines the portion of its holding cost that represents money
tied up in inventory that could otherwise be invested in other ventures. Premium
products, sherbets and sorbets, and frozen yogourts contain expensive ingredients and
cost more to store. To account for this difference in holding costs, products were further
separated by base mix type. Based on the cost of producing one litre of yogourt, sherbet,
and light base mix the decision was made to group all nonice cream base mixes together.
For example, in Table 1, groups plO and p l l have the same tub size, tubs per pallet, and
even the same final customer, but they are separated into two groups because of their
differing base mix types.
Separating the products by production line is also important because not all products can
be produced on all lines. Model A distinguishes between the production capacities of
each line so groups must be broken down by line. Interestingly, once the products were
aggregated to meet all other criteria, they were already separated by line. No further
breakdowns were necessary and twentysix product groups were created in total.
43
finished product. Because converting from tubs to litres provides no advantages and
increases the number of calculations required, the model data is also expressed in tubs.
Based on constraints (A.l) and (A.2), it follows that the inventory, production, and
shipping variables must be expressed in tubs.
One important change to Hax and Meal's original model that has been mentioned in
several studies (Axsater, 1986; Bitran, Haas, & Hax, 1981; Erschler, Fontan, & Merce,
1986) is to use "effective demand" rather than "actual demand". The problem is that to
calculate the forecasted demand (Djt) and starting inventory (I;o) for each group, the
demand and inventories for each product in the group are summed. However, this
incorrectly allows the model to use the inventory for one product to meet the demand of
another if they are in the same group. As a result, Model A might not schedule that
product group for production in the first period when in actuality several of the products
in that group will drop below their safety stocks. The solution is to calculate the effective
demand for each product before summing across groups. Effective demand is equal to the
demand minus inventory or zero, whichever is greater, and is calculated for all future
periods (Equation 1) (Axsater, 1986).
Equation 1  Effective Demand
det
dt
io
det=maxW,y
dt i0\
Effective demand ensures that the demand for each product is accurately represented in
the seasonal model and that the available inventory of one product is not used to meet the
demand of another. Solving the model using effective demand is imperative to achieving
a solution that is likely to be feasible at the detailed level.
44
Rather than use forecasted demand, Model A has been designed to utilize effective
demand. An additional change was made to the effective demand equation so that it also
accounts for some minimum level of safety stock (Equation 2). The effective demand
now includes the production that is necessary to maintain some minimum level of safety
stock in each period. By constraining the model to meet this modified effective demand
level, no additional safety stock constraints are needed in the model code, simplifying the
model formulation and solution. Determining an appropriate value for the safety stock
level depends on the company's desired service level and is a separate issue to be
addressed by the company decision makers. The safety stock level is currently set to
cover one week of average demand over the year.
Equation 2  Modified Effective Demand
det
dt
io
sst
dt i0 + sst \
period. The actual effective demand for the group in the first period is therefore equal to
8000 and the group will need to be scheduled for production.
45
Inventory
(tubs)
Safety
(tubs)
t01
(tubs)
t02
(tubs)
t03
(tubs)
Effective Demand
t04
(tubs)
t01
(tubs)
t02
(tubs)
t03
(tubs)
t04
(tubs)
818
14000
3000
5000
6000
9000
2000
9000
2000
814
20000
4000
9000
13000
14000
10000
6000
14000
10000
817
2000
1000
4000
4000
6000
3000
3000
4000
6000
3000
813
1000
1000
5000
5000
8000
4000
5000
5000
8000
4000
Total
37000
9000
23000
8000
Each scenario includes the total number of production hours per week for each of the
three lines. At one end of the spectrum, scheme bOl has no scheduled production at all
and represents a shutdown period. Scheme b04 schedules the maximum number of
production hours and consists of five 16hour days on each line and one extra 8hour day
for line 1 on Saturday. Schemes b06bll offer the flexibility of producing more on one
line than others for situations where a particular line may be in higher demand.
46
Table 3  Model A Labour Schemes
Scheme
Line 1
Line 2
Line 3
(hrs per week) (hrs per week) (hrs per week)
bOl
0
40
80
88
40
48
40
40
48
48
40
50
t>02
b03
b04
b05
b06
b07
b08
b09
blO
bll
bl2
0
40
80
80
80
40
48
40
48
40
48
50
0
40
80
80
80
40
40
48
40
48
48
50
The cost of each labour scheme is needed for the model's objective function. The costs
included are only those affected by the scheduling of a shift. Overhead costs, research
and development costs, and other fixed costs are ignored because they are not affected by
changes in the schedule. A sample of the costing calculations for labour scheme b02 is
presented in Table 4 with adjusted costs to protect the privacy of the company. The
schedule consists of three 10hour shifts per day from Monday to Thursday for a total of
40 hours per week. The labour schedule costs and capacities are managed in an Excel
spreadsheet. Based on the shift length and number of lines running each day, the
spreadsheet calculates the total number of hours needed for each work position and
multiplies it by the hourly wage for that job. The spreadsheet also determines the
expected output in terms of 2L tubs for each shift length based on observed actual output.
For every hour that the lines are running, production staffing requires one freezer
operator per line, three packers per line, and one bypass worker for all lines. These
numbers are not exact as some of the more premium products require more operators
while economy production requires less, but they are reasonable estimates. The number
of palletizers working in the warehouse is a function of the number of lines running and
the length of the shift. One lab supervisor must be on staff for eight hours during a
production day, regardless of shift length. One lab technician is also required for an
47
additional eight hours to perform extra work, although they do not have to be present at
the same time so their work can be divided up over a 16hour shift. Washup staff is
needed for eight hours the night before production and eight hours the day of production.
In general, four mix workers are needed to prepare mix the evening before production is
scheduled. Additional mix can also be produced during the day. Supervisor, manager, and
maintenance hours are all fixed based on whether production is scheduled. Hours are
separated into AM and PM because the hourly pay rate increases if a shift begins after
12pm. The hours for each week are summed and multiplied by the current hourly wage
for each position to calculate a total cost for the schedule.
Mon
Tue
Wed
Line 1
10
. to
10 
Line 2
10
"ift'.
10
Line 3
10.
10 ,
10":
Thu
Iff
, 10!"
Fri
:o.
Sat
Total hrs
40
6 :'o:;'.
""'io ' '6'" Q . ,
Total Cost
40
40
30
30
30
30
120
$0.00
90
90
90
90
360
$5,968.80
$0.00
10
10
10
10
40
$663.20
$0.00
Palletizer AM hrs
50
50
50
50
200
$3,708.00
Palletizer PM hrs
$0.00
40
$750.80
$0.00
$2,252.40
40
$750.80
$38.54
Washup Staff
16
16
16
72
$1,387.44
Mixers AM hrs
32
32
32
16
112
$2,102.24
Mixers PM hrs
32
32
$616.64
Production Supervisor
10
10
10
10
40
$822.00
Maintenance Manager
8
40
40
40
40
0
24
40
240
$822.00
24
8
32
Maintenance
$4,684.80
$18,238.86
48
production rate in tubs per hour is needed. The company has information on the speed of
each line expressed in litres per hour as provided by the manufacturer. However, when
converted to tubs per hour and compared with observed actual output, the actual is often
less than expected. The main reason for this discrepancy is that the speed per hour
assumes continuous ice cream production for the full shift. In reality, there are several
product changeovers per line, per day and unplanned downtime that significantly affect
the total output. Models B and C are designed to directly address the issue of changeovers
affecting total production, but as a high level model, Model A does not consider these
details. However, the issue of changeovers must be included at this level or the model
will overestimate available production capacity.
Rather than attempt to incorporate actual, sequence dependent setup times, an estimate
based on typical observed production outputs is more appropriate at the aggregate level.
As Models B and C are implemented, the observed output will improve and these
estimates can be updated accordingly. An average production speed for each group of
products that includes typical setup times (Equation 3) can be substituted for the
manufacturer's production speed and will incorporate typical setups directly into the
input data.
Equation 3  Average Production Speed
Units Produced
= Average Production
Units Produced , _ ^
.
75j. 5 + Setup rT1Time
Production Rate
^
Speed
The average setup time for each product is not known, and data is not available on
individual product productions times. An accurate and accessible way to calculate
average production speed is to estimate it from past data by identifying shifts where only
one product group was produced on a line, summing the total production output, and
dividing by the number of hours in that shift. Shift production data is readily available
and it is not uncommon for products of one group to be scheduled together. The shift
production data corresponded with the rule of thumb rates currently used by the
49
production scheduler. This method also incorporates currently unknown metrics such as
unplanned downtime. The resulting production rates differed with respect to the tub size,
line, and length of shift.
Rather than express the available production capacity in hours, because one hour can
yield different production outputs depending on the circumstances, the capacity was
converted to a familiar base unit. A 2L tub of vanilla ice cream is the company's highest
selling, most consistently demanded product. For each of the 12 labour schemes, the line
capacities are expressed in terms of the number of 2L tubs of ice cream that are typically
produced in that time. Then, each product group's output for each shift length is
converted to a function of 2L tubs that can be produced during that time.
As an example, during an eight hour shift, 2000 tubs of 11.4L tubs of ice cream can be
produced versus 17000 tubs of 2L ice cream. This means that for every tub of 11.4L ice
cream produced on a line, 17000/2000 = 8.5 tubs of 2L ice cream could be produced. If
the production speed was independent of the tub size then production ratio would only be
11.4/2 = 5.7 instead of 8.5. The ratios were calculated for a 10hour and 16hour shift and
were also both equal to 8.5. The calculations showed that for each product group, the
ratio is independent of the shift length. Therefore, shift lengths were converted from
hours to "capacity in 2L tubs" and the line utilization for each group was expressed as a
function of the 2L production rate. See Table 5 for the complete list, where a zero value
indicates that a group cannot be produced on that line.
Table 5  Line Utilization Expressed in Units of 2L Tubs
Line 1
(2L tubs)
8.50
Line 2
(2L tubs)
0
Line 3
(2L tubs)
0
8.50
p03
8.50
p04
8.50
p05
2.13
2.02
p06
p07
2.13
2.02
2.02
Group
p01
p02
50
p08
p09
p10
P11
p12
p13
p14
p15
p16
P17
p18
p19
p20
p21
p22
p23
p24
p25
p26
0
0
0
0
0
0
0
0
0
0
0
0
0
1.28
1.28
1.28
1.28
1.28
1.02
1.00
1.00
1.00
1.00
1.00
1.00
1.00
1.00
1.00
1.00
1.00
1.00
1.00
1.00
1.13
1.19
0
0
1.20
1.20
1.19
0
0
0
0
0
0
1.20
0
0
0
0
0
0
0
0
The spiral freezer capacity is much simpler to calculate because the system processes
10,000L of ice cream per hour, regardless of product size, type, or the length of a shift.
The only exceptions are the 11.4L tubs that bypass the freezer and enter the warehouse
directly. Freezer capacity is represented as the total number of litres that can be processed
during a shift and the freezer utilization for each group is equal to size of the tub in litres.
Therefore during an 8hour shift with capacity 80,000L, a maximum of 40,000 tubs of 2L
ice cream could be produced.
51
There are four warehouses available for storing inventory. Warehouse 1 is owned by the
company and is located in the same building as the ice cream production facility. After
ice cream is produced, it must be stored for at least two days in the onsite warehouse
while quality tests are performed before it can be distributed or sent to another warehouse
for storage. The company owns and operates two additional warehouses, WH2 and WH3,
which are available for extra storage on a per pallet basis. A section of space is also
rented from an outside warehouse, WH4, for a monthly fee. The warehouses and typical
examples of their shipping and storage costs are summarized in Table 6.
The "ship to" cost is expressed per pallet and is equal to the total cost of sending one full
truck from WH1 to the end warehouse, divided by the number of pallets each truck can
hold, plus the fixed cost of storing and retrieving a pallet within the warehouse. All
products are stored in WH1 at least temporarily, and the store/retrieve cost for shipping to
the other three warehouses is actually the store/retrieve cost for each warehouse plus the
52
cost for WH1. Finally, the "per pallet" costs are divided by the number of tubs per pallet
for each product group to determine the ship from cost per tub that the model requires.
The "ship from" cost is expressed per pallet and is equal to the total cost of sending one
full truck from the warehouse back to WH1, divided by the number of pallets each truck
can hold. The model assumes that all products are shipped to the final customer from
WH1. All costs associated with handling the pallets were accounted for in the "ship to"
cost and do not need to be included a second time. Costs are then converted to "per tub"
for the model.
The holding cost is equal to the cost of storing one pallet in the warehouse for one month,
plus the cost of having money tied up in inventory. Storage costs are based on company
estimates and vary by facility. Typically, the cost of having money tied up in inventory is
between 10%15% of the product value per year. The percentage is divided by 12 and
multiplied by the average product value for each group to determine a cost per tub per
month. The inventory cost is added to the converted storage cost to determine the holding
cost per tub per month.
5.4 Implementation
The model is implemented through a software program developed by Maximal Software
called MPL (Mathematical Programming Language). MPL allows the user to represent
what might otherwise be a very labourintensive coding problem with a few lines of
algebraic equations. It also imports data from spreadsheets or databases, greatly
simplifying the process of updating input data. MPL then uses the algebraic equations
and input data to build the LP code necessary to solve the model in a variety of
optimisation software languages. MPL can also export any or all of the results to
spreadsheets or databases. MPL can be called from a common program such as Microsoft
Excel or Access, run invisibly in the background, and output the solution back to the
program, thus eliminating the need for an enduser to learn MPL. The MPL code can be
found in Appendix A.
53
MPL pulls the majority of the Model A data directly from the central database built for
this project. The database is updated by the research and development department and the
production manager at least once a week. No further updates to the database are
necessary before running the model. The labour scheme information is currently stored in
Excel spreadsheets because it is easy to calculate the costs and capacities in a spreadsheet
environment. The Excel data is also imported directly by MPL but updating it requires an
extra step outside of the database. The labour schemes and wage data will not need to be
updated as often as the other demand data such as starting inventories and forecasts so
this extra step is minor. The yearly forecast is also translated to effective demand through
the use of Excel functions. In the future, it might be beneficial to program the
calculations directly into the database and remove the Excel portion entirely.
Once the data has been updated, the MPL model is solved using CPLEX 9.0, a popular
and powerful solver software package. When CPLEX 9.0 finds a solution that is within
0.01% of optimality, it stops and outputs the results to an Excel spreadsheet. The
tolerance level of 0.01% was chosen because it provides a reasonably quick solution and
there is no need to constrain the solution further because of the inherent forecasting errors
and accuracy of data estimates. The spreadsheet compiles the data output and translates
them into easily interpreted results. Graphs show the hours of labour scheduled for each
month within the year as well as the actual production in hours. Total warehouse storage
is also graphed over the year. Sample graphs are provided in the next section.
due to typical demand variations and more acute changes from extreme weather
conditions or the acquisition of new customers. To compensate for these changes, the
sales and marketing departments issue a revised yearly forecast every quarter. Updating
Model A with the new forecast and current inventories and solving it every three months
54
provides the flexibility to respond to discrepancies between the forecasted demand and
actual sales over each quarter.
5.5
Results
The model consists of roughly 4000 variables and 2000 constraints. It is solved to within
0.01% of optimality in 15,000 iterations or about one minute to import the data, reach an
optimal solution, and output the results on a personal computer with a 2.80GHz
processor. The solution time is mentioned only as rough guide and to demonstrate that
the model solves in a practical time frame. The intention was to develop a model that is
easy to implement, not to improve on the computational speeds of other aggregate
models. The quick solution time means that management can easily make changes to the
input data and rerun the model to see the results of their changes. Although the model is
intended as a planning tool and not a marketing tool, it still provides valuable marketing
information such as the impact that the addition of a new product will have on the overall
capacity planning for the plant.
The solution includes which labour schemes should be implemented each month as well
as the actual production used in each period. Although the cost of labour will drive the
model to fully utilize production capacity, the high cost of storing inventory means that
sometimes the model will have unused capacity. For example, as period tOl in Table 7
shows, there is a lot of unused capacity in the first period on line 2. Forty hours of
production are scheduled but only 2.64 hours are actually allocated for production. The
difference is caused by an imbalance in starting inventories. Many of the specialty
products that are only produced on line 1 have low inventory stocks, which translate to
high effective demands and a 94% utilization rate for line 1. Lines 2 and 3 have lower
product demands and the cost of acquiring excess inventory for those products was
higher than the cost of underutilizing capacity. Also, because line 3 is marginally faster
than line 2, the model allocated all products that can be produced on both lines to line 3.
After the first period, the model smoothed out the inventories and was able to maximize
55
the available labour hours. If desired, a second labour constraint can be added to force the
model to use some minimum percentage of the total labour scheduled.
Table 7  Model A Labour Scheme Results
Upper Bound
Actual
Period
101
102
103
101
102
103
toi
37.70149
2.64778
33.30682
40
40
40
t02
50
43.09285
43.15932
50
50
50
t03
45.21606
50
50
50
50
50
t04
50
50
50
50
50
50
t05
50
50
50
50
50
50
t06
50
50
50
50
50
50
t07
50
50
50
50
50
50
t08
50
50
47.89613
50
50
50
t09
77.11877
44.66859
68.92098
80
80
80
tio
80
64.61295
70.38303
80
80
80
til
50
50
50
50
50
50
tl2
40
40
39.89947
40
40
40
The model also outputs the ending inventory for each product group in each period. The
inventory is used to offset the seasonality of the demand by building anticipatory stock in
off peak months. As Figure 4 shows, the initial inventory levels drop sharply in the first
period as the model establishes a balance among the product levels. In this example, the
ending inventory is also much lower than the starting inventory, which may lead to an
infeasible plan in the future. One way to verify the sustainability of the solution is to
advance the data forward one year and solve the model again, with the lower starting
inventories, and verify that there is enough capacity to meet demand. Another option is to
allow the model to choose its own initial inventory levels and constrain the ending
inventories to match. The levels selected by the model will be sustainable and
representative of a practical ending inventory value.
56
\
\
1500 
12
Month
A comparison between the results from Model A and the facility's current practices is
useful in assessing the model's general applicability to the company. To determine the
best approach to seasonal scheduling, the company has implemented several production
plans in recent years. One plan was to increase production from 40 hours per week to 80
hours per week as early as February for a total of roughly 9400 production hours over the
year. As a result, the company found themselves with large amounts of excess stock at
the end of the peak season that had to be stored for several months. The following year,
they held back the increase until May. The new plan totalled only 8420 production hours
and improved inventory levels but was not necessarily the least expensive alternative.
The schedule suggested by the model includes 50 hours of production per week for most
of the year, maintaining high inventory levels until June, at which point the inventory is
depleted and production is increased to meet the demand for the summer months.
Production is then scaled back to 50 hour weeks for the remaining months. A comparison
between the three production plans is illustrated in Figure 5. Interestingly, the total
number of production hours scheduled by the model is the same as the second plan
implemented by the company. The difference is in the distribution of the total production
hours. The results suggest that the production savings associated with efficient 10hour
57
production days is significant enough to offset the extra holding costs that result from
carrying the excess inventory.
0
X
Z
O
*J
250
if^:2
700
3
TJ
o ISO
a.
>
m 100
*' "t
,  /
...
!t>
3
(5
O
SO
October
January
Aprii
July
Model A was also used to evaluate the feasibility of acquiring a new customer. The
addition of the new customer would result in a 33% increase in total capacity
requirements and the company was not sure if the current facility configuration could
handle the increase. Temporary products were created to represent the new products and
they were assigned estimated demand patterns. The model concluded that there is no
feasible solution given the current capacities of the plant so an additional labour scheme
that incorporated 18hour production shifts was created and the model was solved again.
With the new configuration, the system was able to meet the new demand. The company
could also use the model to explore the possibility of adding a fourth line or increasing
warehouse capacities.
58
Chapter 6
The Weekly Scheduling Model: Model B
The problem is modelled as a node network, discussed in detail in section 6.3, where each
period is a node and arcs represent the cost and production associated with meeting
demand from node to node. The objective is to minimize the cost of setting up each
product and the cost of holding inventory from week to week. The constraints are the
upper and lower production capacities as determined from the aggregate model. The
optimal solution is the least expensive path for a number of future periods that also
maintains the appropriate production levels in each period.
Rather than model individual SKUs, products are grouped into families. Families are
products with similar setups that can benefit from being run sequentially, such as
products made from the same base mix and products with similar packaging. By grouping
these products together, the task of selecting appropriate product sequencing at the daily
level is simplified significantly. Previous research on hierarchical plans has typically
defined families as subsets of the types used by the aggregate model. However, the
assumption that products that share similar production rates and demand patterns will
also share similar setup costs is not always true. In this case, family are allowed to cross
over product groups. Model inputs are simplified and solution times are reduced. The
59
result is a weekly schedule of families of products and run quantities that ensure demand
is met for an upcoming number of weeks.
6.1
Optimizing product run lengths is a well developed concept. One of the earliest
advancements in production scheduling is Harris' 1913 publication on the Economic
Order Quantity (EOQ) that has been reprinted in the Operations Research journal (Harris,
1990). Harris developed a formula that traded off setup costs (A) and holding costs (vr)
for a particular item based on its expected demand rate (D) to determine an appropriate
production lot size. Over time, EOQ y[(2AD/vr) has become a staple in production
planning and can be found in almost any inventory management textbook. Unfortunately,
all components of the EOQ are assumed not to vary with time, and thus the equation is
only effective in cases where demand is constant. The EOQ does not perform well in
situations with seasonal demand trends such as ice cream. Furthermore, the equation is
very simple and does not consider the complex dependencies and linkages of a
production system as a whole. There are a variety of other decision rules for determining
optimal order policies, some of which incorporate group setup costs such as Goyal's
optimum packaging frequency (Goyal, 1974) but they all suffer from the drawback of
assumed infinite capacity. Optimal replenishment frequencies in a company with limited
fixed capacity are only useful in the unlikely even that all product groups come up for
replenishment in such a way that production remains constant from one day the next.
Hax and Meal (1975) took a different approach to lot sizing and started with a fixed,
aggregate capacity to be disaggregated. They began with their product "types" schedule
and broke it down into product "family" schedules, where a family is a group of products
that share a common setup cost. First, the families that will run out in the first month are
selected for production. Second, minimum run lengths for each item in the families are
summed. If the total production is less than what is available for the type then additional
production is added so that each family finishes with the same fraction of their overstock
limits in storage.
60
Hax and Meal's model does not consider setup costs and holding costs when determining
production run lengths. Depending on the difference in holding costs, it may be best to
produce a family with high setup costs less frequently than a family with low setup costs,
regardless of the resulting fraction of inventory storage. The model is also not designed to
create a schedule that is guaranteed feasible in future periods. By ignoring the forecast in
upcoming periods the model may develop a schedule that lacks the capacity necessary to
meet demand in some future period.
Bitran, Haas, and Hax (1981) compared two alternate methods for allocating family
demand: Bitran and Hax's Regular Knapsack Method (RKM) and Equalization of Run
Out Time (EROT). RKM allocates the production for each type among its families using
a knapsack approach (minimize setup costs for each family over the course of the run out
time for the type) for the first period only. They also added the Look Ahead Feasibility
Rule (LAFR), a constraint that forces the model to look ahead one period and add
families as needed to the current production so that demand can be met for both periods.
Erschler, Fontan, & Merce (1986) later took the LAFR one step further and extended it to
cover all periods in the horizon. EROT simply allocates the production of all families
within a type so that they will all run out at the same time while meeting that period's
production requirements.
A comparison by the authors determined that when setup costs are 5% or less of the total
production costs, EROT was favourable, otherwise RKM provided the best results. This
is because EROT ignores setup costs and instead attempts to minimize total primary costs
by uniformly depleting any initial inventories. RKM, on the other hand, minimizes setup
costs and may not allocate the inventory uniformly, resulting in lower setup costs and
higher total primary costs. Both methods have advantages over Hax and Meal's (1975)
model in that they are designed to uniformly deplete resources during the run out time of
the type so that eventually, when one family within a type is triggered, all the other
families are also triggered. However, the optimal run out time for the type is never
calculated and is instead driven by the available production for that period. There is no
61
guarantee that the run out time will be equal to an integer number of future periods and
there will likely be excess inventory at the end of the last period.
Eppen and Martin (1987) solved a multiitem capacitated lot size problem using variable
redefinition. They started with general dynamic lot sizing problems and reformulated
them to equivalent shortestpath models with flow balance equations. These mixed
integer programming models have linear programming relaxation values that are equal to
the Lagrangian dual, resulting in tighter bounds and much faster solution times. The
formulation does not include considerations for products that would benefit from being
produced together but does provide an alternative framework for addressing the
capacitated production problem.
Allen and Schuster (1994) developed a simple disaggregation model similar to Hax and
Meal's (1975) hierarchical plan. Although their model only plans for family production
and not type production, their method of disaggregation is still useful. Their mixed
integer programming model minimizes holding and setup costs while meeting the total
family requirements as determined by the high level model for t future periods. Because
their model considers only one family at a time, it can solve quickly and easily in a
simple spreadsheet.
 set of products i
 set of periods t
Data:
CH;
CSj
Bjt
S;
Djt
Ft
Qi
M
62
Variables:
Pit
0; t
lit
Nit
Et
St
Minimize:
Subject To:
Vi,t
045.1)
ht > Bit
Vi,t
04S. 2)
Vi, t = 1 to 4
(i45. 3)
Vt
(ASA)
The model objective is to minimize holding costs, setup costs, and production deviations
from the higher model's family requirement levels. Equation (AS.l) is an inventory
balance constraint. Equation (AS.2) ensures all ending inventory levels are higher than or
equal to the buffer stock requirement. Equation (AS.3) is a fixed charge constraint that
turns on the setup variable when production is positive. Equation (AS.4) sets the total
production for each family equal to its requirements. The setup for each family was
included in the aggregated model and Allen and Schuster did not include individual setup
times at this level. Et and St are relaxations to the constraint to allow the model to exceed
or underutilize the capacity at some very high cost. The elastic constraint results in a
faster solution time and the final values for the penalty variables are usually zero.
Allen and Schuster noted that removing setup times, holding costs, and equation (AS.3)
from the model has little effect on the solution but greatly improves the computation
63
time. They found that in the case of large families with eight or more products, removing
these cost considerations was essential to solving the model in a reasonable time frame.
However without the holding and setup costs, the model is not optimizing anything of
significant value. Once the inventory and buffer constraints are satisfied, there is no
metric to optimally decide which P,t values should be increased to meet family
requirements. The original model may be too complex to solve for a company with 330
product SKUs and the modified model would not provide the level of optimisation
desired.
Silver, Pyke, and Peterson (1998) developed a different method for dealing with cases
where setup costs are high. After allocating production to the families within a product
type so that all aggregate production is consumed, the marginal benefit of having
increased production available is calculated. If the benefit is positive and unallocated
production hours exist, then additional hours are added. This continues until no more
benefit can be seen or no more production hours remain.
Another proposed solution to the weekly scheduling problem was based on the earlier
work of Malone and Oostvogels (2003) that was completed for the same ice cream
company. The approach incorporated a SilverMeal (Silver & Meal, 1973) heuristic to
solve for run quantities. In this model, products were not broken into families and were
generally treated individually. The model identified all SKUs that would drop below their
safety stock levels if not produced during the upcoming week and scheduled them for
production. A SilverMeal heuristic then determined a costeffective run length for each
SKU by calculating the average cost to produce for increasing values of t (Equation 4)
until the average cost stopped improving. In this equation, A is the setup cost, t the
number of periods to produce for, r the holding cost, v the product value, and D(t) the
total demand for periods up to and including t.
= ^+2t(tl)*r*i7*D(Q
64
This first step did not take into account available production capacity based on the
imposed labour schedule. It might have scheduled too little (wasted capacity) or too much
(infeasible) production. Fortunately, setup costs and holding costs are almost impossible
to properly estimate and therefore can be adjusted to suit production needs. In fact,
Brown (1967) proposes that the correct value of r is that which suggests inventory levels
that are consistent with a particular company's corporate strategy.
By recursively
altering the value of A/r, which will increase or decrease the production lengths, an
optimal value is found that ensures that the weekly production will exactly match
scheduled production. Malone and Oostvogels recommended running the model for the
first week as well as several weeks into the future to avoid any infeasibilities in future
periods because the heuristic cannot consider multiple periods at once.
Regardless of the value chosen for A/r, the solution will always produce for some integer
number of future periods. Automating the calculations also means that the solution can be
reached very quickly. Although the approach has been shown to be effective, it does
suffer from a number of drawbacks. First, it is a heuristic model and the final solution
may or may not be optimal. Second, it cannot consider multiple periods at a time and any
infeasibilities that arise must be handled outside of the model. In addition, Silver and
Miltenburg (1984) noted that for cases where demand experiences rapid declines or
several periods with zero demand, SilverMeal will always suggest one replenishment to
cover all remaining periods when in fact, it may be beneficial to introduce other welltimed replenishments during the horizon. This can occur in a situation where a product is
being replaced or has drastic seasonal demand patterns, which is common in the ice
cream market.
Biggs (1979) points out that lotsizing and scheduling techniques have always been
considered independently, even though it is likely that the two affect one another. This is
certainly true in ice cream production, where proper product sequencing can drastically
reduce setup times and product loss, which could in turn lead to the scheduling of smaller
lotsizes. Developing a method that can incorporate both decisions at once could result in
65
large cost savings. Grouping products into families not only removes unnecessary detail
from the model formulation, it also forces the solution to schedule like products in the
same period. When dealing with ice cream production, where the sequence of products
has such a large impact on efficiency, this additional benefit is very useful. Although
Model C will ultimately determine production sequences at a detailed level, it must work
with the products and run quantities provided by Model B. If Model B groups products
with common base mixes and packaging together then Model C will obtain better results
when sequencing them.
From the literature, it is clear that grouping products based on shared setup costs has
many scheduling benefits in a process environment. However, none of the articles
discussed here provide details on the best course of action for creating these groups.
Products with the same base mix share a common setup cost, but so do products with the
same packaging. The first results in ingredient savings and the second negates the need
for maintenance when making a changeover. As well, most research has focused on
constraining the family production to meet the previously determined type production.
The constraint means that families must be subsets of types and adds further restrictions
on an already tightly constrained system. The decision of how to constrain the production
must be made carefully so the structure does not become too centralized.
A model that does not consider multiple periods in the future is likely to develop capacity
issues. However, for every additional period included in the model, the solution time is
increased. The quality of future forecasts also decreases as they extend further into the
future. There exists a distinct tradeoff between model complexity and ensured feasibility
in future periods. Determining the number of future periods to consider may depend on
the complexity of the model, the production process, the power of the solver software,
Scheduling models should be designed to plan for enough production to cover an integer
number of future periods when demand is deterministic, as proven by Wagner and Whitin
(1958). Scheduling more or less results in excess inventory costs when the product is up
66
for production again. In the case of random demand, buffers can be incorporated to
account for the uncertainty of the forecast. In addition, an ideal model would be capable
of making lotsizing and scheduling decisions simultaneously in a system where one
affects the other. Unfortunately, the decisions are difficult to compute concurrently and
the results are not always meaningful. A more detailed discussion is provided in the
literature view for Model C, section 7.1. However, a feedback loop that updates the cost
of a setup in the disaggregate model as smarter sequencing decisions are made by the
detailed model can help to manage this issue.
6.2
The first approach to this problem was to design a linear programming model that
minimized holding and setup costs by scheduling each individual SKU. The model is
similar to Allen and Schuster's (1994) disaggregation plan with an expansion to include
calculating the requirements for all families simultaneously rather than one at a time.
When a product is selected for scheduling, its family is also scheduled and a family setup
cost is incurred. Additional products from that family can then be scheduled with no
additional family setup cost. Production is constrained by the total production
requirements determined in the aggregate model. The general formulation follows.
Indexes:
T
P
F
F(p)
 set of periods
 set of products
 set of families
 set of products p that are in family f
Data:
SSpt
Dpt
hcp
fcf
pcp
p+t
p"t
67
M, p
 large numbers
Variables:
Ipt
Ppt
Zpt
Xft
Minimize:
Xftfcf+
Z ZZptpcp
^ ^ ipthCp+Y,YJ
t
Subject To:
lptlpt+iSSptDpt
Ppt  M * Ztp < 0
Zptp*Xft<0
+ Ppt = 0
PEP,tET
(/.l)
pEP.tET
(/. 2)
fEF.tET
(7.3)
peP(/)
]Tpptpt+<0
v
tET
(7.4)
ZpptPt"^o
tET
(75)
The model minimizes inventory holding costs, family setup costs, and product setup
costs. Equation (1.1) is a typical inventory balance constraint for each product in each
period. Equation (1.2) turns on the product binary variable Ztp if product p is produced in
period t. Equation (1.3) turns on the family binary variable Xfp if any of the products in
family f are produced in period t. Equations (1.4) and (1.5) ensure that the production of
all products falls within the capacities as determined in Model A.
Although the model formulation is relatively simple and easily populated with data, it
suffers from one very significant drawback. To trigger the setup costs, binary variables
are turned on and off with the use of large coefficients. Models with these types of
68
constraints are commonly known as fixed charge problems, and as Williams (2006)
notes, the use of large coefficients results in a poor approximation of the polygon that
bounds the integer solution. The lack of a tight constraint increases the feasible region
and requires large branch and bound trees to solve, effectively increasing model solution
times. To properly model the problem and avoid impractical solution times, the
coefficient must be just large enough to properly constrain the binary variable. In the case
of M, this number must be at least as large as the largest production run for some product
p in period t that might ever be scheduled. During a 16 hour production day, roughly
40,000 tubs of 2L product can be produced. Given that the company produces up to 6
days a week, M must equal at least 240,000. In the case of p, it must be large enough to
account for every product in the largest family being produced. This is easily calculated
and is equal to 44. Unfortunately, the use of large numbers has a negative effect on model
run time regardless of the type of solver used. An initial model run using CPLEX 9.0 had
not converged after 24 hours.
Another issue that negatively impacted the solution time was that the model was free to
choose its own run quantities for each SKU. Wagner and Whitin (1958) showed that
producing for fractions of weekly demand results in excessive inventory costs. The model
only needs to schedule enough production to meet the demand for an integer number of
future periods.
69
EOQ formula. However, the equations assume constant demand and do not include
capacity constraints. A heuristic is needed to address production capacities, but it
assumes that capacity constraints are constant. Ice cream demand is not constant and the
aggregate model recommends changing production capacities throughout the year,
rendering both methods ineffective in this case.
After determining that all products in a family will be replenished simultaneously, the
next step was to determine how large replenishments should be. Wagner and Whitin's
(1958) work on a dynamic version of the economic lot size model proved that when setup
and production costs are constant across all periods, it is never desirable to place an order
and bring in inventory in the same period. Instead, the extra inventory should be brought
forward and added to the next order at no additional setup cost but at a reduced holding
cost. With this simple proof, a problem with an infinite n u m b e r of possible solutions is
reduced to a finite size. The question is no longer "how much should be produced" but
"how many weeks should production cover". The replenishment cycle for each family
should be just enough to cover some integer number of future periods. In fact, the size of
the problem is directly related to N, the number of periods being considered. If initial
inventory is zero, then the total number of possible production quantities for all periods is
70
equal to N(N+l)/2. Model B is currently set up to cover 3 months into the future, or 13
weeks, for a total of 91 possible weekly starting points. Wagner and Whitin also noted
out that if initial inventory is not zero, it can be netted out from the demand, period by
period, until such time that the remaining inventory is not enough to cover the demand,
which is the same methodology for calculating effective demand.
Wagner and Whitin's approach is limited by the fact that it is based on deterministic
demand forecasts. In reality, forecasts are subject to error and the actual demand rarely
matches the estimated requirements. If actual sales are higher than the expected forecast
then products will run out sooner than anticipated. If actual sales are lower, then
additional inventory will be carried forward at an incurred holding cost. The problem is
compounded when products are grouped into families, because it only takes one product
in the family to run our early to trigger the whole family for production. Possible
solutions to this problem include building in a buffer to each product's production to
offset the chance of dropping below the safety stock level too soon, or allowing a product
in a family to drop below its safety stock if the rest of the family does not require
scheduling.
necessary. The process is repeated for period 2, except now there are only Nl future
periods to consider. Produce enough to cover period 2 (30) or 2 and 3 (30+15=45). In
period 3, the only option is to produce enough for that period (15). If the same scenario
had started with an initial inventory of 30, then the resulting effective demands would be
0, 20, 15 and the according production path is shown in Table 9. Although this method
71
was originally intended for individual products, it can easily be extended to product
families by summing up family requirements in each period.
Table 8  Wagner Whitin Dynamic Lot Size Example 1
To
From
tl
t3
t2
20
tl
t2
50
65
30
45
t3
15
tl
t2
0
t3
20
35
20
35
15
Once the family lot sizes are established, their associated production and holding costs
can be calculated. When a family is produced, a major setup cost is incurred. Every time
a product within the family is produced, a minor setup cost is incurred. When production
covers more than one period, the excess inventory incurs a holding cost equal to the
amount remaining at the end of each period multiplied by a holding factor. These costs
can be quickly calculated using a spreadsheet.
Wagner and Whitin also developed an algorithm for determining which of the possible
production paths is the least expensive, although this is not particularly useful in this case
because their solution ignores production constraints. Instead, the problem is modelled as
a series of node networks that are optimized simultaneously by a linear programming
solver. The transformation from a dynamic linear programming problem to a mixed
integer flow problem is very similar to Eppen and Martin's variable redefinition model
(Eppen & Martin, 1987). Figure 6 shows a visual representation of one of these networks.
Each node represents a period in the planning horizon, from tO (the current state) to some
future period tx. Each arc represents the amount of production time needed to meet the
72
net requirements from the starting node up to the ending node. For example, taking the
arc from tl to t3 means producing just enough product to meet demand in the current
period and the following two periods. When period t4 arrives, available inventory will
have depleted to zero and the decision of which arc to take next will be independent of
which arcs were taken to arrive at the t4 node. Once the network has been defined for all
families, solver software can determine the least expensive path to get from period 1 to
period t for all families.
If no additional constraints were needed to define this problem then it could be solved
very effectively as a shortestpath network problem or with the algorithm developed by
Wagner and Whitin. However, to maintain feasibility within the hierarchical structure
and produce a practical solution, Model B must be constrained by the labour scheme
selected by Model A. Specifically, the total weekly scheduled production must fall
somewhere between the upper and lower bounds defined by the labour scheme chosen in
Model A. The solution to Model B is the combination of least expensive paths from
period 1 to t for each family that maintains the prescribed labour level in all periods. This
one additional constraint has a significant impact on the solution time but is critical to
73
Indexes:
F
T
L
F(l)
Data:
Uf,ti,t2
Cf,ti ,t2
ca+ti
ca'ti
p
period
Variables:
Pf,ti,t2  1 if family f is produced in period tl to cover periods tl to t2, 0 otherwise
St,ii,i2
+
Pe n
Pe'ti
Minimize:
tl
t2
74
Subject To:
]T 2//,ti,t2 = 1
fEF.tET
(5.1)
tl<tt2>t
y y y uf,ti,t2Pf,u,t2 c a m + ^ m + /^  ^ n ^ ~ ^ $ti,n,i
,12
12
~n t2>t /&F(0
TT
T2
lEL,tlET,t2ET
/1 /
(B. 2)
u
f
t2>tfEF(l)
St,n,i = 0
11
12
lEL,t2ET
(fi.3)
t G T,11 E L
(B. 4)
Pf,ti,t2 6 {0,1}
The model objective is to minimize production costs and penalty costs. Production costs
are the setup and holding cost associated with each path in the network. Penalty costs are
used to create elastic capacity constraints. Equation (B.l) ensures that every family in
every period is covered by one production arc in the network. As long as t is between
some tl and t2 value for which P = 1, demand for that period is covered. Equations (B.2)
and (B.3) are elastic constraints that keep production constrained to the maximum and
minimum values imposed by Model A's solution. The equations also contain slack
variables that allow the model to transfer production between lines if needed, and penalty
variables for exceeding or not meeting scheduled production. Equation (B.4) does not
allow slack transfers to line 1 as it is the most in demand and many products made on line
1 cannot be made on any other line. No restrictions are needed on lines 2 and 3 with the
current product mix. Additional slack constraints can be added in the future if needed.
75
period. To maintain the labour schedule laid out by Model A, scheduled production can
not exceed the available production hours in any period. A solution for the upcoming
week is not feasible if it will result in capacity shortages later in the year. To maintain the
inventory levels determined by Model A, the first period must schedule at least as much
production as Model A. If meeting demand for all families in the first period requires less
time to produce than Model A scheduled, Model B will schedule enough production to
meet more than the first period of demand for some families, thus accumulating
inventory. The lower bound constraint should not be imposed on the production in weeks
213 because those periods require information about periods 1425 to make a proper
decision. Instead, the lower bound constraint is only imposed on the first period and the
model is solved on a rolling horizon so as week 2 is being scheduled, the model has been
updated to include week 14. As a result, the model can produce at most 13 weeks worth
of product at a time, and employing a firstinfirstout policy will generally result in
warehouse stock is never more than three months old.
Model A is capable of assigning production for a given product group to more than one
line in a period because the binary variable PM is distinguished by line. In the interest of
keeping Model B small and quick to solve, the ability to distinguish production by line
for each family was left out of the model. Adding line assignments would increase the
model complexity and the distinction is not technically necessary as most products can be
produced on any line. Instead, each family is first scheduled to its preferred production
line, determined by the production schedulers, and if one line's capacity is fully utilized
then it can borrow slack from another line. Borrowing slack actually represents producing
some products on their nonpreferred line. To maintain the labour scheme defined in
Model A, the model only allows the increase of one line's capacity through the
equivalent decrease of another with the variable Stjii,i2 A variety of additional constraints
can be applied to the amount of slack that can be transferred between lines, and in this
case line 1 is not allowed to borrow slack because many products can only be produced
on line 1. The addition of constraint (B.4) ensures that line 1 capacity can not be
artificially inflated by trading with the other two lines.
76
The penalty variables Pe+ti and Pe ti were added to the initial model design to improve
solution time. Ehrgott and Ryan (2003) showed that in the case of multiobjective
combinatorial optimization problems such as this, elastic constraints can reduce solution
times without any loss of optimality. By allowing constraints to be violated and
penalizing the violation in the objective function, the solution can be reached in fewer
iterations and generally without incurring any penalties. Ehrgott and Ryan also observed
that smaller penalty coefficients in the objective function tend to result in better solution
times, though did not offer suggestions for choosing appropriate values. If the coefficient
is too small then the solution may include constraint violations, but if it is too high then
the elastic constraint is essentially no longer elastic and the benefits are lost.
An empirical test was performed to determine an appropriate value for the penalty
coefficient (p) in the objective function. One particular instance of the model was still
3.92% from optimality after 20 hours. To improve the solution time, penalty costs were
added and the model was solved to within 2% of optimality at five different coefficient
values. Based on the units used for equations (B.2) and (B.3), a penalty coefficient
translates to "dollars per additional hour of production" that is added or subtracted from
the maximum and minimum bounds. The solution time was compared against the total
production costs and the number of penalty hours the solution allowed (Table 10). An
appropriate value for p will be low enough to improve solution times, but high enough to
keep penalty hours low.
Solution Time
Production Costs
N/A
20 hrs +
N/A
N/A .
$50,000/hr
$501,514
0.0000
$25,000/hr
$499,167
0.0167
$10,000/hr
$500,569
0.0000
$l,000/hr
$466,443
25.916
$10/hr
$304,580
1062.89
77
With no elastic constraints, the model still has no solution after 20 hours of computation
time. Implementing a weekly model that requires more than 20 hours to solve is
impractical. Adding a penalty cost of $50,000 for constraint violations improved the
solution time to only two hours at no penalty. Charging $25,000 and $10,000 decreased
the solution time even more dramatically and introduced negligible penalties. Setting the
penalty costs any lower resulted in significant penalty hours and offered little
computational improvement. Based on these tests, p is currently set to $10,000 for both
the upper and lower elastic constraints.
Setting p equal to $10,000 produced acceptable results in this case but that does not
guarantee that every run of the model will react similarly. Unfortunately, the appropriate
value for p will change with each change in the model data. Ideally, starting with a small
penalty and slowly increasing it as needed can keep violations acceptably low. Most
popular solvers are not equipped to handle this process directly. One group of researchers
transformed the penalty costs to remove them from the objective function and instead
imposed them through a series of cut constraints (Vielma, Murray, Ryan, & Weintraub,
2007). For each level increase in the penalty cost, a new constraint is added. Their
method offers some additional flexibility and might be useful if regular use of the model
encounters this problem.
6.5 Data
Populating a model with accurate, up to date information is, in part, what sets the general
models apart from the applied projects. Determining the best way to group products and
build the appropriate production and cost matrices for Model B required careful
consideration at every step. This section outlines the methodology used to address each of
the data issues.
78
If families are not subsets of groups then family production cannot be constrained by the
group production determined in Model A. However, the group production dictated by
Model A is only one of many reasonable solutions that exist at this high level. Rather
than force Model B to adhere to the detailed production levels that happen to coincide
with 0.01% of optimal, a more relaxed approach is to adhere to the overall labour levels
only. Model B has more freedom to optimize the weekly schedule, families can cross
over types, and the plan in Model A is still preserved at the lower level.
The most complex and timeconsuming type of setup is a packaging change. Switching
packaging often involves exchanging parts of the line machinery and requires the skilled
labour of a maintenance mechanic. The line can be stopped for an average of 30 minutes
while the change takes place, which is significant when compared a typical run time of
two to eight hours. Because packaging changes are the most complex type of setup,
product families are typically separated by packaging. Packaging can differ by size (1L,
2L, 11.4L, etc.) and by style (paper, plastic, deep lid, seal). Unlike the Model A
groupings, some families contain products that do not fit the same number to a pallet
even if their tub size is the same. Table 11 contains a list of sample families, most of
79
which have the same tub size (f015, f072, f091). Some exceptions were made for certain
products that could benefit from being produced together despite a difference in
packaging. These types of products include ice creams with more than two base mixes
(neapolitan, moon mist, rainbow sherbet) and products with particularly strong
ingredients that are difficult to clean (mint chocolate chip fudge). For example, in Table
11, f006 consists of threeflavoured ice cream products that do not have consistent
packaging types.
The next most undesirable setup is switching from one mix type to another. The line is
completely flushed of mix, a process that takes time and results in considerable product
loss. From a cost perspective, a mix change may be more expensive than a packaging
change if labour costs are ignored. Maintenance and line operators both work regular
shifts regardless of whether they are performing a changeover so it is valid to exclude
them. The only cost left is the significant product loss that results from flushing the line.
The product families were further decomposed by base mix. All the families presented in
Table 11 share a common base mix. The No Sugar Added (NSA) chocolate flavour is
such a unique mix that it is the only product in its family (f091).
Lastly, switching from one flavour to another requires that the flavour vats be cleaned.
This process is relatively quick and can often be completed in only a few minutes with
minimal ingredient loss. With the products already grouped by packaging and mix, the
time and cost associated with changing flavours is minimal and no further breakdowns
were required. In total, 103 product families were created and contain anywhere from 1 to
44SKUs.
80
Family
Brand
Flavour
Tubs /Pallet
i/c
i/c
11.4
80
11.4
80
864
Type
f006
Brand A
Neapolitan
f006
Brand A
Rainbow
f006
Brand B
Moon Mist
I/C
1.89
f006
Brand C
Moon Mist
I/C
768
f006
Brand G
Moon Mist
I/C
11.4
80
f015
Brand D
Butterscotch
390
f015
Brand D
Strawberry
I/C
I/C
390
f015
Brand D
Vanilla
I/C
390
f015
Brand C
Butterscotch
I/C
330
f015
Brand C
Vanilla
I/C
330
330
f015
Brand E
Vanilla
I/C
f015
Brand E
Butterscotch Ripple
I/C
330
f072
Brand A
Maple
I/C
1.89
864
f072
Brand A
Vanilla
I/C
1.89
864
f072
Brand B
Vanilla
I/C
1.89
864
f072
Brand B
Orange Pineapple
1.89
864
f091
Brand F
Chocolate
I/C
NSA
1188
81
Neither of these paths are necessarily the least expensive, due to the cost of holding
excess inventory versus incurring additional setup costs.
Table 12  Sample Production Matrix
family
period
f001
0.61
f001
f001
f001
f001
f001
f001
f001
10
11
12
13
1.16
1.80
2.44
3.08
3.89
4.55
5.34
6.15
7.11
8.06
9.26
10.41
0.72
1.36
2.00
2.64
3.45
4.11
4.90
5.71
6.67
7.62
8.82
9.97
0.81
1.45
2.09
2.90
3.56
4.35
5.16
6.12
7.07
8.27
9.42
0.81
1.45
2.26
2.92
3.71
4.52
5.48
6.43
7.63
8.78
0.81
1.62
2.28
3.07
3.88
4.84
5.79
6.99
8.14
0.98
1.64
2.43
3.24
4.20
5.15
6.35
7.50
0.91
1.70
2.51
3.47
4.42
5.62
6.77
1.04
1.85
2.81
3.76
4.96
6.11
1.14
2.10
3.05
4.25
5.40
1.38
2.33
3.53
4.68
1.45
2.65
3.80
1.70
2.85
f001
foot
10
f001
11
f001
12
f001
13
1.73
Defining the production matrix is relatively straightforward, but calculating the 13x13
matrices for all 103 product families based on their starting inventories, forecasted
demand, production speeds, and setup times requires considerable computation. The
process needed to be as easy to implement as possible so that the operations coordinators
could implement the model with minimal effort. Automating the process so that it can be
carried out on a weekly basis is critical for a successful implementation. The following
section details the creation of the automated production matrix.
82
The shift in production also means that the company will be carrying, on average, one
week of buffer stock for each item. The result is effectively the same as carrying safety
stock and the company may decide that between the production foresight provided by the
model and the shift in production by one week, additional safety stock is not necessary.
Management will likely wish to make these decisions after the model has been
implemented for a significant amount of time and their confidence in the results is
solidified.
83
requirements to time requirements is less problematic because they can be calculated for
each individual product in the family and then summed.
Model B does not distinguish between lines so it is important that using one production
speed over another will not greatly affect results. At most, the line conversion rates differ
from one line to another by no more than 5% and in many cases the difference is
negligible. The effective demand for each product is divided by its speed in tubs per hour
to determine the total hours of production required.
The company keeps paper records of all their production data including changeover
times. Setup information for a particular product was retrieved from multiple production
dates. On some dates, the product was the first in its family to be produced. On other
dates, it was produced second or later. By calculating the difference in setup times when
it was first versus when it was second or later, the family setup time and flavour setup
time can be distinguished from the total. For example, if it takes 15.43 minutes to setup
butterscotch ice cream when it follows chocolate, but only 4.87 minutes when it follows
84
vanilla, then 15.43  4.87 = 10.56 minutes of the first changeover can be attributed to the
mix change. Unfortunately, acquiring data for hundreds of products was not possible. The
dataset is sparse as there are many sequencing combinations that have never been
implemented in practice. Developing estimates is a more practical solution and these
estimates can be easily updated as more production information becomes available.
Currently, all family setups are set to 30 minutes and all product setups are set to 5
minutes. The company has plans to record their production data digitally within the next
year and as this information become more accessible, the model data will be updated.
Figure 7 is a flowchart describing the VBA function. In brief, the function takes in the
family number, starting week, and ending week, and outputs the total production needed
to meet demand for that family within the specified period. The function searches through
the list of product SKUs sorted by family and locates all products in the family. If a
product has a positive demand at any point between the starting and ending weeks, then
this demand and its setup time are added to the total time. If a product has no demand
during this period then its setup time is not added to the total. After all the products have
been searched, if the total time is positive then the family setup time is also added. If the
total time is zero then no family setup is incurred. The total value is then returned to the
Excel spreadsheet.
85
Input Family
StartWeek
EndWeek
PUtilization = 0
Futilization = 0
Select first
product in list
>
Next product
YES
Select first
period of
demand
YES
PUtilization =
PUtilization +
Demand
Next Period
YES
Return
\
Utilization J
FUtilization =
FUtilization + Family
Setup Time
YES
Return 0
FUtilization = FUtilization +
PUtilization + Product Setup
Time
PUtilization = 0
86
2009
2058
2136
2262
2792
1989
2013
2065
2159
1989
2015
1989
10
11
12
13
2792
3251
3743
4272
2657
2657
3104
3580
4092
4450
5015
5263
4252
4799
5026
2077
2543
2543
2977
3438
3932
4074
4604
4810
2020
2454
2454
2874
3320
3796
3921
4433
4618
1989
2390
2390
2798
3228
3687
3794
4287
4452
2358
2358
2753
3168
3609
3698
4174
4318
2358
2740
3140
3563
3634
4092
4216
2727
3112
3517
3570
4011
4114
3097
3484
3519
3942
4024
3466
3484
3889
3950
3466
3853
3894
3835
3856
Dollars
f001
f001
f001
f001
f001
f001
f001
f001
f001
f001
10
f001
11
f001
12
f001
13
1989
3466
87
changeover, while the lost product cost depends on the production sequencing. The setup
costs and times are also very sequence dependent although sequencing is not determined
until the third model.
In 2007, an industrial engineering undergraduate senior design project was carried out at
the ice cream facility with the goal of reducing changeover times and unexpected
downtime. During their analysis of changeover times, Pryor, Ostrovsky, and Linder
(2007) calculated a labour cost per minute, however, they made the point that this cost
should not be included in the changeover analysis because unlike the case of unplanned
downtime, workers are not idle during a setup and it is an unavoidable expense.
Changeovers are done by the freezer operators during regular production hours. The
group also calculated the "cost of lost production" to account for the value of product that
could have been produced were a line running during a setup. However, Model B
accounts for lost production as a direct reduction in total capacity equal to the setup time.
Including it in the cost function would penalize the solution twice. The only remaining
cost is product loss. Product loss is an issue for the company that is monitored closely.
Every time a mix is changed for a family setup, the mix vats must be flushed. The vats
contain roughly 50 gallons of mix and at a sample cost of $6.00 per gallon, the value of
mix lost during a changeover is roughly $300. When a changeover happens within a
family, some mix and additional ingredients are flushed. These amounts vary from
product to product and must be estimated by the production scheduler. As more accurate
product loss information becomes available then the model data will be updated.
88
/
/
Fcost =0
Select first
product in list
D=0
t= 1
,r
YES
Select first
period of
demand
YES
PCost = PCost +
Holding * Demand * t
D = D + Demand
YES
FCost = FCost +
Family Setup Cost
Return
Utilization
Return 0
NO
Next
t=
NO
90
6.6
Implementation
As with the first model, a rolling horizon is used to schedule production on an infinite
horizon with a finite model. Although the model covers 13 weeks into the future, only the
first week is intended to be implemented. The remaining 12 weeks are used to ensure
feasibility in future periods by allocating proper production levels from the start and to
ensure that production covers some whole number of future periods. Of course, if the
actual sales differ dramatically from the expected demand then there is the possibility that
the model will not be able to meet demand without incurring overtime but in general the
solution will be viable. Running the model on a rolling, weekly basis allows the solution
to account for forecast and production uncertainties such as last minute flyer promotions
or even the loss of product due to unforeseen acts of nature. By constraining the horizon
to 13 weeks, the model can never produce more than 3 month's worth of demand at once,
which is useful in an industry that produces a product with a limited shelf life.
91
6.7
Results
The model consists of roughly 10,000 variables (9,373 production variables and a few
slack and penalty variables) and 2000 constraints. Solving to within 1% optimality
averages a solution time of roughly 20 minutes on a 2.80Ghz processor and requires
about 60,000 iterations. Decreasing the tolerance level to 2% improves the solution time
to roughly two minutes or 16,000 iterations. Considering the accuracy of the sales
forecast and the flexibility of production, 2% is considered an acceptable tolerance.
The model results are output to an Excel spreadsheet and include all production variables
(Pf,ti,t2), line slack, minimum penalty, and maximum penalty variables. Each family has
91 (N[N+l]/2 where N = 13) production variables that outline the possible production
paths from week 1 to 13. There are 103 families for a total of 13 x 91 = 9,373 production
variables. A sample of the production variables for family 001 is shown in Table 14 and
indicates that the family should be produced in weeks 1, 2, 3, and 9.
Table 14  Sample Production Results from Model B
From
1
1
1
1
1
1
1
1
1
1
1
1
1
2
2
2
2
2
2
2
2
2
To
1
2
3
4
5
6
7
8
9
10
11
12
13
2
3
4
5
6
7
8
9
10
Prod
1
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
From
2
2
2
3
3
3
3
3
3
3
3
3
3
3
4
4
4
4
4
4
4
4
To
11
12
13
3
4
5
6
7
8
9
10
11
12
13
4
5
6
7
8
9
10
11
Prod
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
From
4
4
5
5
5
5
5
5
5
5
5
6
6
6
6
6
6
6
6
7
7
7
To
12
13
5
6
7
8
9
10
11
12
13
6
7
8
9
10
11
12
13
7
8
9
Prod
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
From To
7 10
7 11
7 12
7 13
8
8
8
9
8 10
8 11
8 12
8 13
9
9
9 10
9 11
9 12
9 13
1 0 10
1 0 11
1 0 12
1 0 13
1 1 11
1 1 12
1 1 13
Prod
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
92
A VBA function converts the production variables into useful information for the end
user by working backwards through the node network and disaggregating the family data
to produce a table with the production quantities for all individual SKUs for the next 13
weeks. A flowchart of the VBA function is shown in Figure 9. The inputs are a product
SKU, its family number, and the week number (113). The function searches the model
output to find the product's family. Then it checks to see if that product is scheduled for
production during the week in question and how many weeks of demand that production
will cover. If no production is scheduled during that week, the function returns zero. If
production is scheduled, then the function searches the utilization table and locates the
product SKU. Then it sums up the demand from the start week to the end week and
outputs the resulting utilization. The production schedule corresponding to the family
data in Table 14 is in Table 15. Nothing is produced in the first two periods because
existing inventory levels are high enough to meet demand.
Table 15  Family 1 Sample Production
P1
P2
P3
P4
P5
P6
t01
0
0
0
0
0
0
t02
0
0
0
0
0
0
t03
80
50
443
114
80
74
t04
0
0
0
0
0
0
t05
0
0
0
0
0
0
t06
0
0
0
0
0
0
t07
0
0
0
0
0
0
t08
0
0
0
0
0
0
t09
198
50
723
136
100
146
t10
0
0
0
0
0
0
t11
0
0
0
0
0
0
112
0
0
0
0
0
0
t13
0
0
0
0
0
0
Input SKU
Input Family
StartWeek
Production = 0
Select first
family in model
results
^>
)
NO
Next Family
YES
Select first
FromWeek
Return
Utilization
Next
FromWeek
YES
''
iAfeek = x
\ToWeek/
Next Week
Production =
Production +
Utilization
YES
YES
Select first product
in dataset
Select first
week in
dataset
YES
94
The first week of data is similar to the type of schedule that the production scheduler
currently receives from the production coordinators. The difference is that the new
schedule is based on minimizing setup and holding costs and adheres to the labour
schedule prescribed for the year. The production scheduler is then responsible for taking
this list and developing a schedule for the week that minimizes mix loss and meets all
sequencing restrictions. As the final model in the hierarchical structure, Model C will
develop the schedule precisely and quickly. Until then, the production scheduler will fit
the products and run quantities produced by Model B into a feasible weekly schedule on
paper.
First, Model A was solved based on some yearly forecast and starting inventory levels.
For this scenario, Model A was setup up to utilize at least 80% of the production it
scheduled. The resulting minimum and maximum scheduled hours produced by the
model are shown in Table 16. Figure 10 displays the resulting inventory levels for the
year and shows a distinct decreasing trend. This suggests that the current inventory levels
are too high. However, there is still a lot of production taking place in the first period,
likely because the existing inventories are not equally balanced across all products.
95
Period
101
102
103
101
102
103
tOl
81.55922
64
64
88
80
80
t02
48
32
32
48
40
40
t03
48
40
40
48
40
40
t04
48
39.14206
32
48
40
40
t05
50
50
50
50
50
50
t06
50
50
50
50
50
50
t07
50
50
50
50
50
50
t08
50
49.75051
50
50
50
50
t09
50
50
50
50
50
50
tio
50
50
50
50
50
50
til
72.52846
64.89866
64
80
80
80
tl2
50
50
50
50
50
50
Jj
1,500
TO
1,000
500
$

b
]?
**
rs
to
'

*
*Sr
&
<b
**
,
..
h
,&
3b*
Next, Model B was ran multiple times under changing conditions to compare the output
with Model A. First, Model B was solved for week 1 based on 13 weeks of the forecasted
demand and starting inventories used in Model A. Then Model B was advanced forward
by one week assuming that actual production in week 1 equalled scheduled production
96
and actual sales equalled the forecast. Lastly, Model B was resolved for weeks 214. The
last two steps were repeated 11 more times to establish a production plan for the first 3
months.
The resulting production schedule is shown in Figure 11. The graph shows that Model B
remains within the boundaries of Model A in all periods and typically scheduled the
minimum amount of production necessary rather than the maximum because the existing
excess inventories resulted in zero effective demand for roughly half of the families in the
first few months.
Production Levels
~.... i _
240
\
yj
200 
180
160 
a.
n
140 
. Yr
_ .
V t
V
\\
_ kVl l
Model B
Model A Max
120 "
^t?.
&
_._^
Model A Min
*~ 100
Bfi
'
tl
' t2
t3
t4
to
t7
t8
19
tlO
'
til
tl2
tl3
Weeks
Figure 12 shows the resulting inventory levels for the first three months from the
production scheduled by Models A and B. The graph shows that the trends in Model B's
inventories follow Model A's very closely. However, Model B incurs more inventory
than Model A in many periods despite having scheduled roughly the same number of
weekly production hours. The results are encouraging because Model A's expected
production efficiency is based on the company's actual average output, which does not
account for any advantages resulting from family scheduling and optimized run lengths.
97
Inventory Levels
3 nnn
3,UUU
2,500 
mm
2,000
(A
1,500 1,000 
Model A
500 ft ^
0.00
0.50
1.00
1.50
2.00
2.50
3.00
Month
Figure 12  Inventory Levels for Models A and B
Figure 13 shows a sample of some inventory levels for families 2630 over the course of
the 13 weeks. The saw tooth patterns in the graph demonstrate that Model B schedules
enough production to cover multiple periods for some families. Model B was not
constrained by any minimum production run lengths so the decision to produce for
multiple periods is based solely on meeting production levels and reducing setup costs.
The graph also clearly demonstrates how the model maintains a constant production level
from week to week, by staggering the periods in which each family is produced.
98
The results of this test scenario demonstrate how Model A effectively constrains Model B
while still providing the flexibility to schedule production as close to optimal as possible.
Model B also maintains the inventory levels prescribed by Model A without the need for
a direct constraint. Model B achieves improved efficiency by producing products with
shared setup procedures in succession. As Model B is used in practice, the actual output
of the process will improve and the new values can be used as inputs to Model A. As a
result, the expected inventory levels from Models A and B will match more closely.
99
line can generally only produce one allergen per day, and if too many incompatible
allergens are selected in the week, then there will be no possible way to sequence them.
For these reasons, it may be prudent to run some analyses on the schedule produced by
Model B and check for the factors that may cause these infeasibilities before
implementing the schedule. If the allergen problem can be identified a few weeks in
advance than some of the allergens can be scheduled in an earlier period to alleviate the
problem. The product list can also be checked against existing raw material inventory
before attempting to assemble a schedule.
Model B does not consider the fixed mix batch size problem that becomes an issue at the
detailed scheduling level. If Model B can be adapted to consider the total mix batch
requirements for each arc scheduled in each week then it might be possible to constrain
production to integer batch sizes at the short term level. Developing these constraints will
require additional consideration so that they do not adversely affect the solution time of
the model. Calculating the mix batch requirements for each arc in the matrix will also
require significant data manipulation for an already large dataset. The scheduling
advantages at the detailed may outweigh the increased implementation time, because
coordinating mix production and finished goods production will reduce total mix loss.
Forecasting errors can have a strong impact on the short term schedule. If actual demand
differs from the forecast, the service level may drop, families will be produced earlier
than expected, additional holding costs will be incurred, and future production
projections will change. Incorporating stochastic demand directly into Model B may not
be possible and demand probabilities are not currently estimated by the company's
forecasters. Other solutions include building in allowances to each family's demand so
that if a product drops below its safety stock, but has not run out entirely, then the
decision to produce the family in the following period will be sustained. Simulating the
production scheduling process may also be a useful avenue for future exploration. An
analysis on the consistency of the current model schedule as it extends into future weeks
compared with some of the alternatives would be a useful future consideration.
100
Chapter 7
The Daily Sequencing Model: Model C
Model C is the final and most detailed level in the production structure. The purpose of
Model C is to develop a weekly schedule consisting of the products and run lengths
selected by Model B in the most efficient and inexpensive sequence possible. The
schedule is constrained by the production speeds of each line, changeover times, line
constraints, allergen constraints, mix batch sizes, and the labour schedule imposed by
Model A. The only cost to consider is the ingredient loss associated with each
changeover. Because changing from one mix to another requires flushing the production
line, and changing from a strong flavour to a mild one requires more cleaning and labour
than producing the milder flavour first, different sequences have different costs.
The biggest difficulty at the sequencing level is that many products can be produced on
more than one line, but not all products can be produced on all lines. Sequencing
algorithms exist for minimizing the makespan or cost of a production sequence on one
line, but examples that assign products to multiple lines and also optimize their
sequencing are much harder to find. One option is to restrict the sequencing problem by
assigning jobs to lines beforehand based on best practices or the results of a previous
model. The advantage to this method is that it is relatively easy to compute, but the
method of assigning jobs to lines must be carefully designed so the sequencing model is
still free to create a schedule that is close to optimal. Alternately, a model may be
101
designed to sequence the jobs and select the appropriate machines simultaneously, which
can produce improved solutions but may come at a high computational price.
Allergen constraints lead to a variety of sequencing restrictions that must be incorporated
into the model. Once a product with an allergen has been produced on a line, that line is
contaminated with that allergen for the remainder of the day. The only other products that
can be produced on that line must also contain the same allergen. Some products even
contain multiple allergens. These products can succeed any product containing at least
one of their allergens, but can only precede products which contain all of their allergens.
For example, a "peanut and egg" product can succeed any "peanut" product and any
"egg" product, but it can only precede another "peanut and egg" product or a "peanut and
egg and wheat" product. The cleaning cycle performed at the end of each product day
washes away all traces of allergens so the sequencing can start fresh the next day. The
cleaning cycle could be performed during the day between products but the cost of the
cleaning and the lost production time makes it an undesirable option.
The suggested solution for Model C is a mixed integer programming problem that
minimizes the cost of changeovers while fitting all products into a weekly schedule and
meeting sequencing constraints. The model consists of variables Xjji that represent job j
following job i on line 1. By turning these binary variables on or off, production and setup
times are incurred and used to calculate the start time for each job. Any time a particular
job j cannot follow job i, such as in the case of allergen constraints, that combination of
Xjji is not included in the model. Line assignment restrictions are handled in a similar
manner. Dummy jobs are used to signify the start and end of each day and their start
times are fixed. The result is a series of Xyi variables that string together to create a
w e e k ' s worth of the least expensive production sequences on each line.
102
The ice cream production system has three unrelated parallel production lines in a singlestage system. The line speeds are essentially the same but not all products can be
produced on all lines. The data is static, with all production run quantities known from
the start. Model B is designed to schedule production a week before the product is set to
be shipped so due dates are not a concern. Attempts to minimize makespan, lateness, or
earliness are also not of particular use in this scenario. As long as the makespan fits into
the weekly labour schedule, it is acceptable. Instead, the goal is to schedule the products
so that the mix and ingredient loss that result from each changeover are minimized. The
mix and ingredient loss is expressed in dollars because premium mixes are more valuable
than economy mixes and walnuts are more expensive than butterscotch ripple.
The most popular criterion for evaluating a parallel machine production sequence is time,
whether the goal is minimizing makespan (Lenstra, Shmoys, & Tardos, 1990; Alon,
Azar, Woeginger, & Yadid, 1998; Azizoglu & Kirca, 1999; Grigoriev, Sviridenko, &
Uetz, 2005; Li & Yang, 2009), minimizing lateness (Lee & Pinedo, 1997), or some
combination of the two (Baker & Scudder, 1990; Chen & Powell, 1999; SivrikayaSerifoglu & Ulusoy, 1999). These approaches are all based on the assumption that
103
capacity is a constraining variable to maximize. While this is true for a facility that
operators 24 hours a day, 7 days a week, it does not necessarily apply to an under utilized
ice cream facility. The models could be adapted to the ice cream case if there was a direct
link between the cost and time of executing a changeover, but because the only cost
considered in this case is product loss, it is entirely possible that a timeconsuming
packaging change is more economical than keeping the same package size but flushing
the entire production line. If the extra production time is available then it should be
utilized to save waste.
Several papers have made the argument that lot sizing and sequencing problems need to
be made simultaneously in the case of sequence dependent setup times (Biggs, 1979;
Meyr, 2002). Production capacities are dependent on the product sequencing which in
turn affects optimum lot sizing. Unfortunately, lot sizing decisions need to be made on a
medium range horizon to capture cycle stock inventory and demand fluctuations, while
sequencing decisions consist of daily activities. A significant level of computing power is
required to schedule individual products at the daily level over several months, and
because actual sales are going to differ from the forecast, the schedules will still need to
be updated on a weekly basis. Combining the activities of the operations coordinators and
the production scheduler is also undesirable as it does not maintain the hierarchical
structure of the company decision making.
The simplest type of parallel machine scheduling model that focuses on cost is an
assignment model that considers each machine separately, essentially breaking the
problem down to a singleunit problem. Bowers and Jarvis (1992) designed their
hierarchical production plan to assign jobs to a particular machine in the disaggregate
plan, and then sequence the jobs on each machine separately in the detailed plan. First,
families and jobs were assigned to production lines based on where they could be
produced the most efficiently, ignoring changeover times. Then the task of minimising
total changeover time was formulated as a travelling salesman problem and solved using
common heuristics. Unfortunately, the speed of the ice cream production lines are almost
the same for all products and the bigger concern is minimizing changeovers between all
104
three lines. Restricting products to a line before sequencing them would only reduce the
available sequencing combinations and therefore restrict the best possible outcome. The
model was also not designed to account for scheduling constraints such as allergens or
the start and end of the production day.
Indexes:
I, J
L
1(1)
J(i)
D
Data:
ptji
Sjji
Cjji
dtj
M
Variables:
Y;i
Xjji
T,
105
Minimize:
Xijlcijl
i
Subject to:
Y, XW ^ Yn
l Gl
M ( 1  % j + 7} > 7* 4 ^ ( p t ^ + sm)Ya
i G /,; G 7(0
^ ^ X
0 7
r = dti
= l
/,; e ;(i), l e t
(C 2)
(c. 3)
(C. 4)
JEJCO
(C.5)
ieD
(c. 6)
The model objective is to minimize the total changeover cost between all products on all
lines. Equation (C.l) ensures that each product is assigned to one line and that that
product can be produced on that line. Equation (C.2) makes certain that if job j is set to
follow job i on line 1, that job j is also scheduled to be produced on line 1. Equation (C.3)
ensures that if job j follows job i on line 1 than both jobs are scheduled on line 1. For both
(C.2) and (C.3), the set of jobs j is restricted to only the jobs that can follow job i, to
account for allergen constraints and other production issues. Equation (C.4) dictates that
if job j follows job i on line 1, then the start time for j is greater than the start time for i
plus the production time for i plus the time to switch over from i to j . Equation (C.5) says
that every job j must be preceded by one job i and that j must have permission to follow i.
The very first dummy start jobs do not have permission to follow anything so they are
automatically excluded from this equation. Equation (C.6) assigns the dummy jobs their
forced start times to coincide with the beginning and end of each day. A similar, "less
than" constraint could be added if a particular product needed to be finished by a certain
106
date, for example if unplanned downtime in the previous week pushed a product's
production into the current week.
A week is modelled as one continuous production cycle with the start time for the first
dummy job on each line equal to zero and the start time for the last dummy job equal to
the total available production hours for the week. Intermediate dummy jobs ensure that
production for a job does not extend over from one day to the next. For example, a
schedule from Monday to Friday with 10 hours of production per day on line 1 would
result in the dummy start times shown in Table 17. The model is then free to schedule
production anywhere within these time slots without crossing over them. A product with
5 hours of production time could not be started at T = 18 because it would not finish until
T = 23 and dummy job lld02 must start at T = 20. Although it is certainly possible to
divide production up over two days, the resulting times and costs would be higher and
less efficient. If it is absolutely necessary to break up a production run then it can be
separated into two distinct jobs with appropriate setup times and costs for each.
Table 17  Model C Example Dummy Start Times
Variable
StartTime
llstt
lldOl
10
Ild02
20
Ild03
30
Ild04
40
llend
50
The setup time from a dummy job to an actual job is always zero, because a dummy job
indicates the start of a day when setups are performed before the scheduled start up time
of the lines. T h e model will therefore consider the advantages of scheduling complicated
setups at the start of the day when determining an optimal production sequence.
The allergen restrictions are compounded daily, as once a peanut product has been
produced, only another peanut product can follow it, and only another peanut product can
follow that, and so on until the end of the day. To account for the fact that all sequencing
107
restrictions are reset at the start of each day, the dummy jobs are eligible to follow every
actual job and be followed by every actual job. Therefore, when the end of the day
approaches and the peanut product is followed by a dummy job, the dummy job acts as a
reset since any product can follow it. The only exceptions are the very first dummy jobs
that cannot follow anything and the very last dummy jobs that cannot be followed.
product
line
prod time
start time
product
line
prod time
13
1.67
16
13
3.77
32
14
3.35
14
3.4
16
15
2.75
32
15
3.08
1.25
16
2.08
8
9
2
2
2.67
1.6
17
18
2
1
3.33
2.64
10
1.52
18
11
1.19
19
1.69
11
3.94
19
3.62
12
1.48
20
3.62
12
2.41
20
1.09
3.79
start time
108
All data was stored in an Excel spreadsheet. The problem was modelled in MPL and
solved using CPLEX 9.0 to within 1% of optimal (see Appendix C for the MPL code). A
solution was found after 41,718 iterations or 9.36 seconds on a 2.80GHz processor. The
resulting minimum cost was $591.16 and the production sequences for lines 1 and 2 are
shown in Figure 14 and Figure 15. As the figures show, there is still some unused
capacity on both lines, although line 1 is much less constrained. Total setup times for
both lines over both days were 5 hours.
Line 1 Production
0
Day 1 Start
5
I
10
I
15
20
25
Job 16
Job 10
Job 14
Job 20
Day 1 End
Job?
Job18
Day 2 End
Setup
Production
30
109
Line 2 Production
Day 1 Start
10
IS
20
25
30
35
Job 12
Job 17
Job 9
Job 11
Day 1 End
Jab 8
Job 15
Job 13
Job 19
Day 2 End
Setup Production
Figure 15  Model C Line 2 Production Example 1
The model was solved a second time with more restrictions added. Job 14 could no
longer be produced on line 1, job 15 could not follow job 8, and job 10 could not follow
job 16. The solution was reached in 13109 iterations or 3.06 seconds. The new optimal
value was $605.50 and the setup times totalled 6.78 hours. Figure 16 and Figure 17 show
the new production sequences which have been rearranged to meet all new production
requirements. The model changed the schedule dramatically, including switching certain
jobs between lines, in order to develop a new schedule.
110
Line 1 Production
10
15
20
25
30
35
Day 1 Start
Job 13
Job 19
Job 12
Job 16
Day 1 End
Job 7
Job 18
Job 10
Day 2 End
Setup
Production
Line 2 Production
35
Day 1 Start
Job 15
Job 17
Job8
Job5
Day 1 End
Job 20
Job9
Job 11
Job 6
Day 2 End
Setup
s Production
The preliminary testing shows that the model is capable of producing feasible production
schedules that maintain all scheduling restrictions in a reasonable timeframe. The
example used here considered the production of 14 products on 2 lines over 2 days. The
Ill
model consisted of roughly 500 variables and 1000 constraints and solved in 3 seconds.
The largest size that the ice cream facility will likely need to solve consists of 50 products
on 3 lines over the course of 6 days. Assuming that all products can follow all other
products and be produced on all lines the problem would contain roughly 5000 variables
and constraints. Further testing will reveal the feasibility of optimizing a model of this
size but initial test results are encouraging. If the model is too large to optimize quickly
then metaheuristics may be a viable alternative. The simple structure of the model makes
it amenable to solving using TABU search or simulated annealing. Once an initial
solution has been found, it is simply a matter of changing the position of one or more
products to develop a new alternate solution.
One possible approach to the mixbatch problem is to solve Model C ignoring mix
constraints and then calculate the mix requirements afterward. If the requirements are
satisfactory and do not deviate too far from the mix batch restriction then the schedule is
accepted. If the requirements are unsatisfactory then the situation can be analysed to
determine how other constraints might be added to the formulation to account for the mix
batch discrepancy.
112
Chapter 8
Conclusion
Hierarchical production planning is favourable because it has the ability to capture many
levels of production decision management and solve them semiindependently, while also
maintaining some form of connection and integration. The stages of the hierarchical
structure are designed to coincide with the company's management and decision making
levels. Interpreting and managing the model decisions at each stage is therefore simple
and intuitive for the decision makers. By treating the levels independently, they can be
modelled more accurately and solve faster than if they were modelled together.
Designing the lower level models to adhere to the constraints imposed by the higher level
models guarantees the feasibility of the system in both the short and long term. Because
of the uncertainties involved in production scheduling, solving each level of the
hierarchical structure on its' own rolling horizon, rather than modelling the entire system
at once, means that only meaningful results are computed at each stage. Detailed
schedules that will only be implemented in the first period are not calculated over the
course of a year, and long term aggregate decisions are not recalculated on a weekly
basis.
113
Model A, the highest level in the hierarchical structure, selects a labour schedule for next
12 months to minimize production and holding costs and adhere to all production and
storage constraints. By aggregating effective demand for 330 products into 26 groups, the
model solves in minutes and the results are suitably simplified at the high level. Allowing
the decision makers to predefine a selection of acceptable labour schemes enables the
model to select optimal production capacities within reason. The result is a labour
schedule that meets demand in every period and maintains a reasonable workload
throughout.
Updating Model A's data and running it on a rolling horizon every three months produces
a labour schedule and inventory levels with the flexibility to adapt the schedule to any
major changes in demand or production that may arise. The results are provided in such a
way that they can be easily imposed as a constraint on the production scheduling
decisions, ensuring proper linkages between the three levels. Testing the model and
comparing the results against the company's previous yearly labour schedules concluded
that the plan achieves reasonable inventory levels at a reduced cost.
costs of these scenarios for use by marketing, the results are nevertheless useful for
determining the feasibility of future expansions to the company.
Model B creates a production demand schedule to meet demand for upcoming weeks and
select run quantities that minimize holding and setup costs and maintain the labour
114
schedule prescribed by Model A. The model is designed to group products with shared
setup costs together to save on setup costs and times. Aggregating the demand and
production of hundreds of products into 103 families based on common base mixes and
packaging simplifies the mathematical model formulation and products with shared setup
costs are naturally produced together. Grouping the families independently of the type
groupings provides more flexibility and results in improved setup savings. The model is
run every week on a rolling horizon to adapt results to changes in the demand patterns.
Unlike Model A, the majority of the decision making for Model B happens outside of the
solver. By recognizing that producing for an integer number of periods is always less
expensive than bringing in inventory and producing in the same period, the scheduling
problem is significantly reduced in size. Grouping products with shared setup costs into
families and designing these families to run out of all products in the same period also
greatly restricts the possible solution scenarios. At this point, the solution software simply
selects the least expensive production path for the next three months that meets the
production constraints imposed by Model A.
The production coordinators use Model B to develop a production schedule for the
upcoming week quickly and accurately. If necessary, they can make changes to the
115
schedule to account for anomalies in production that are not captured by the model.
These changes are then picked up seamlessly by the plan the following week when model
data are updated. The results are clear and easy to understand and the implementation
requires minimal manual data manipulation, reducing the potential for human error.
Management can be confident in the accuracy and validity of the model solution.
The final level in the hierarchical structure is Model C, the daily production sequencing
model. The model has been formulated and tested with sample data. Further research is
required to determine whether a full implementation will require the use of metaheuristics
to solve. Although the structure is not complete without the final level, the higher levels
of the system do not require the final level to model their decisions effectively. In the
mean time, the production scheduler will continue to sequence the products each week
based on the production list provided by Model B. When Model C is completed, it will be
added to the model set by constraining it to the same production list.
The outline presented for model C is different from most research in that it focuses on
reducing the cost of a changeover. Generally, models are designed to reduce time or costs
resulting from timing. In the case of a production facility that is not producing at
maximum capacity, the objective might not be to optimize line utilization, but rather to
save on costs. In this case, the cost of lost ingredients drive the decision making process.
Some changeovers take more time but result in minimal mix loss and if the labour hours
are available then perhaps the longer changeover is favourable. Model C is capacitated by
time but designed to minimize setup costs. The model has performed well under initial
testing and the intention is to complete it at a later date and add it to the hierarchical
planning system.
With the complete hierarchical structure in place, the company can make faster and better
production decisions. The system acts as an important scheduling support system to help
management evaluate the costs of their production decisions and optimize multiple
parameters simultaneously. The results may be improved warehouse utilization, both in
terms of anticipatory inventory and cycle stock levels, reduced setup costs and product
116
loss, optimal use of capacity, and less stock outs. In addition, production plans extend
further into the future, which can lead to improved raw material procurement and the
identification of potential problems with production sequencing well in advance.
Decision makers can focus on anomalies and give special consideration to problem areas
without wasting time on the typical, predictable products that account for most of the
company's business.
The longevity of the hierarchical system depends on the stability of the production
process itself. From a data perspective, whether the company adds production lines,
acquires more warehouse space, or implements an 18hour workday, the system is easily
set up to adapt to the changes. If the nature of the production process changes then that is
when the model will require reformulating. Luckily, the ice cream production process has
remained relatively unchanged in the last few decades and most improvements to
production focus on the individual stages rather than the process as a whole. The
expectation is that this hierarchical structure can provide the company with practical
production solutions for many years to come.
117
References
Allen, S., & Schuster, E. (1994). Practical Production Scheduling with Capacity
Constraints and Dynamic Demand: Family Planning and Disaggregation.
Production and Inventory Management Journal, 35 (4), 1521.
Alon, N., Azar, Y., Woeginger, G., & Yadid, T. (1998). Approximation Schemes for
Scheduling on Parallel Machines. Journal of Scheduling, 1, 5566.
Anthony, R. N. (1965). Planning and Control Systems: A Framework for
Cambridge, Mass.: Harvard University Press.
Analysis.
118
Brown, R. (1967). Decision Rules for Inventory Management. New York: Holt, Rineheart
and Winston.
Buxey, G. (2005). Aggregate Planning for Seasonal Demand: Reconciling Theory With
Practice. International Journal of Operations and Production Mangement, 25 (11),
10831100.
Chen, Z.L., & Powell, W. (1999). Solving Parallel Machine Scheduling Problems by
Column Generation. INFORMS Journal on Computing ,11, 7894.
Conway, R., Maxwell, W., & Miller, L. (1967). Theory of Scheduling. Reading: AddisonWesley.
Crama, Y., Pochet, Y., & Wera, Y. (2001). A Discussion of Production Planning
Approaches in the Process Industry. Center for Operations Research discussion
paper CORE 2001/42.
Dennis, D., & Meredith, J. (2000). An Analysis of Process Industry Production and
Inventory. Journal of Operations Management, 18, 683699.
Dzielinski, B., & Gomory, R. (1965). Optimal Programming of Lot Size, Inventory and
Labour Allocations. Management Science, 11 (9), 874890.
Ehrgott, M., & Ryan, D. (2003). The Method of Elastic Constraints for Multiobjective
Combinatorial Optimization and its Application in Airline Crew Scheduling. In T.
Tanaka, & M. Inuiguchi, MultiObjective Programming and Goal Programming
(pp. 117122). Berlin: Springer.
Eppen, G., & Martin, R. (1987). Solving MultiItem Capacitated LotSizing Problems
Using Variable Redefinition. Operations Research , 35 (6), 832848.
Erschler, J., Fontan, G., & Merce, C. (1986). Consistency of the Disaggregation Process
in Hierarchical Planning. Operations Research, 34 (3), 464469.
Fransoo, J., & Rutten, G. (1994). A Typology of Production Control Situations in Process
Industries. International Journal of Operations & Production Management , 14
(12), 4757.
Goff, D. (1995). Ice Cream Manufacturing. Retrieved February 18, 2009, from Dairy
Science
and
Technology
Education,
University
of
Guelph,
Canada:
http://www.foodsci.uoguelph.ca/dairyedu/home.html
Goyal, S. (1974). Determination of Optimum Packaging Frequency of Items Jointly
Replenished. Management Science , 21 (4), 436443.
Graves, S. (1982). Using Lagrangean Techniques to Solve Hierarchical Production
Planning Problems. Management Science , 28 (3), 260275.
119
Grigoriev, A., Sviridenko, M., & Uetz, M. (2005). Unrealted Parallel Machine
Scheduling with Resource Dependent Processing Times. In M. J. Kaibel (Ed.),
Integer Programming and Combinatorial Optimization (pp. 182195). Springer.
Harris, F. (1990). How Many Parts to Make at Once. Operations Research , 38 (6), 947950.
Hax, A., & Meal, H. (1975). Hierarchical Integration of Production Planning. TIMS
Studies in Management Science, I (Logistics).
Lasdon, L., & Terjung, R. (1971). An Efficient Algorithm for MultiItem Scheduling.
Operations Research , 19 (4), 946969.
Lee, Y., & Pinedo, M. (1997). Scheduling Jobs on Parallel Machines with Sequence
Dependent Setup Times. European Journal of Operational Research , 100, 464474.
Lenstra, J., Shmoys, D., & Tardos, E. (1990). Approximation Algorithms for Scheduling
Unrelated Parallel Machines. Mathematical Programming , 46, 259271.
Li, K., & Yang, S.L. (2009). NonIdentical ParallelMachine Scheduling Research with
Minimizing Total Weighted Completion Times: Models, Relaxations and
Algorithms. Applied Mathematical Modelling , 33, 21452158.
Loos, P., & Allweyer, T. (1998). Appliation of Production Planning and Scheduling in
the Process Industries. Computers in Industry, 36, 199208.
Malone, N., & Oostvogels, M. (2003). Production Scheduling at the Truro Ice Cream
Plant, Scotsburn Dairy Group, Project Report. Dept. of Industrial Engineering,
Dalhousie University.
Manne, A. (1958). Programming of Economic Lot Sizes. Management Science , 4 (2),
115135.
McKay, K., Safayeni, F., & Buzacott, J. (1995). A Review of Hierarchical Production
Planning and its Applicability for Modern Manufacturing. Production Planning &
Control, 6 (5), 384394.
Meyr, H. (2002). Simultaneous Lotsizing and Scheduling on Parallel Machines.
European
Journal of Operational
Research
Pryor, J., Ostrovsky, K., & Linder, S. (2007). Analysis of Ice Cream Mix Loss  Final
Report. Halifax, Nova Scotia: Dalhousie University, Industrial Engineering
Department.
120
Silver, E. A., & Meal, H. (1973). A Heuristic Selecting Lot Size Requirements for the
Case of Deterministic Time Varying Demand Rate and Discrete Opportunities for
Replenishment. Production and Inventory Management Journal, 14, 6474.
Silver, E. (2004). An Overview of Heuristic Solution Methods. Journal of the
Operational Research Society, 55, 936956.
Silver, E., & Miltenburg, J. (1984). Two Modifications of the SilverMeal Lost Sizing
Heuristic. INFOR ,22(1), 5669.
Silver, E., Pyke, D., & Peterson, R. (1998). Inventory Management and Production
Planning and Scheduling (3rd ed.). New York: John Wiley & Sons, Inc.
SivrikayaSerifoglu, F., & Ulusoy, G. (1999). Parallel Machine Scheduling with Earliness
and Tardiness Penalties. Computers & Operations Research, 26, 773787.
SmithDaniels, V., & Ritzman, L. (1988). A Model for Lot Sizing and Sequencing in
Process Industries. International Journal of Production Research, 26 (4), 647674.
Vielma, J. P., Murray, A. T., Ryan, D. M., & Weintraub, A. (2007). Improving
Computational Capabilities for Addressing Volume Constraints in Forest Harvest
Scheduling Problems. European Journal of Operational Research , 176, 12461264.
Wager, H. M., & Whitin, T. (1958). Dynamic Version of the Economic Lot Size Model.
Management Science, 5(1), 8996.
Williams, H. (2006). The Formulation and Solution of Discrete Optimisation Models. In
G. Appa, L. Pitsoulis, & H. Williams, Handbook on Modelling for Discrete
Optimization (p. 13). Springer.
121
Appendices
123
HoldingCost[PeriodotOO, Product, Warehouse]
:= DATABASE(model_holding,
Period=period, Product=group_num, Warehouse=warehouse, HoldingCost=holdingcost);
LabourCost[Period=t01..t12, Labour]
:= EXCELRANGE("SB
APM.xis","Periods!LabourCost");
FreezerThroughput[Period=t01 ..t12, Labour]
:= EXCELRANGE("SB
APM.xls","Labour!FreezerThroughput");
LineThroughput[Period=t01..t12, Labour, Line]
:= EXCELRANGEfSB
APM.xls","Labour!LineThroughput");
MACROS
TotalProductionCost
= SUM(Line, Product IN ProductByLine, PeriodotOO:
ProductionCost * Production)
EXPORT TO EXCELSPARSE("SB APM.xls","Results!ProdCost");
TotalHoldingCost
= SUM( Product, Warehouse IN ProductByWarehouse,
PeriodotOO: HoldingCost * Endlnventory)
EXPORT TO EXCELSPARSE("SB APM.xls","Results!HoldCost");
TotalShippingCost
= SUM(Product, Warehouse IN ProductByWarehouse,
PeriodotOO: ShipTo * ProductToWarehouse + ShipFrom * ProductFromWarehouse)
EXPORT TO EXCELSPARSE("SB APM.xls","Results!ShipCost");
TotalLabourCost
= SUM(Period, Labour IN LabourByPeriod: LabourScheme *
LabourCost)
EXPORT TO EXCELSPARSE("SB APM.xls","Results!LabCost");
TotalCost
= TotalProductionCost + TotalHoldingCost + TotalShippingCost
+ TotalLabourCost
EXPORT TO EXCELSPARSE("SB APM.xls","Results!TtlCost");
MODEL
SUBJECT TO
lnventoryBalance[Product, Warehouse, PeriodotOO]
> IBal:
Endlnventory[Period1] + ProductToWarehouse  ProductFromWarehouse =
Endlnventory;
Startinglnventory[Product, Warehouse, Period=t00]
Endlnventory = 0;
> Slnv:
MeetDemand[Product, PeriodotOO]
> MDem:
SUM(Warehouse: ProductFromWarehouse  ProductToWarehouse) + SUM(Line:
Production) = ProductDemand;
LineCapacityMax[Line, PeriodotOO]
> LCap:
SUM(Product: LineUtilization * Production) <= SUM(Labour: LineThroughput *
LabourScheme);
LineCapacityMin[Line, PeriodotOO]
> LCap:
SUM(Product: LineUtilization * Production) >= SUM(Labour: LineThroughput *
LabourScheme*.8);
FreezerCapacity[PeriodotOO]
> FCap:
SUM(Product, Line: FreezerUtilization * Production) <= SUM(Labour:
FreezerThroughput * LabourScheme);
LimitOvertime[Period<>tOO]
SUM(Labour: LabourScheme) = 1;
> OLim:
WHMaxCapacity[Period, Warehouse]
> WCap:
SUM(Product: Endlnventory * WHUtilization) <= WHCapacity;
BOUNDS
Production
>= 0;
Endlnventory
>= 0;
ProductToWarehouse >= 0;
ProductFromWarehouse
BINARY
LabourScheme;
END
>= 0;
"Model B v5.0"
INDEX
Family
= EXCELRANGEfModel B v4.0.xls", "Family InformationlFam");
Period
= EXCELRANGE("Model B v4.fj.xls", "Product DemandlPer");
= Period;
Periodl [Period]
= Period;
Period2[Period]
Line
:= EXCELRANGEfModel B v4.0.xls", "Production ConstraintslLine");
Line1[Line]
= Line;
Line2[Line]
= Line;
PLine[Family, Line]
EXCELRANGEfModel B v4.0.xls", "Family
InformationlPByL");
VARIABLES
Produce[Family, Periodl, Period2]
>Prod
WHERE Periodl <=Period2
EXPORT TO EXCELSPARSEfResults.xls",
SlackMax[Period, Linel, Line2]
>MinS
WHERE Line1oLine2
EXPORT TO EXCELSPARSEfResults.xls",
MaxPenalty[Period, Line]
>MaxP
EXPORT TO EXCELSPARSEfResults.xls",
MinPenalty[Line]
>MinP
EXPORT TO EXCELSPARSEfResults.xls",
"ResultslProduce");
"ResultslSlack");
"ResultslMaxPenalty");
"ResultslMinPenalty");
DATA
Utilization[Family, Periodl, Period2]
"Create MatrixIFamUtil");
Cost[Family, Periodl, Period2]
"Create MatrixiCost");
MaxCapacity[Period, Line]
"Production ConstraintslMaxCapacity");
MinCapacity[Period, Line]
"Production ConstraintsiMinCapacity");
:= EXCELRANGEfModel B v4.rj.xls",
:= EXCELRANGEfModel B v4.0.xls",
:= EXCELRANGEfModel B v4.0.xls",
:= EXCELRANGEfModel B v4.0.xls",
MACROS
TotalProdCost
= SUM(Family, Periodl, Period2: Produce * Cost)
EXPORT TO EXCELSPARSEfResults.xls", "ResultslTtlCost");
TotalPenaltyCost
= SUM(Period, Line: 10000*MaxPenalty) + SUM(Line:
10000*MinPenalty)
EXPORT TO EXCELSPARSEfResults.xls", "ResultslPenaltyCost");
MODEL
MINTotalProdCost+TotalPenaltyCost;
SUBJECT TO
Coverage[Family, Period]:
SUM(Period1 <=Period, Period2>=Period: Produce) = 1;
MxCapacityfLine, Period]:
SUM(Family IN PLine, Period2>=Period: Utilization * Produce) <= MaxCapacity +
MaxPenalty + SUM(Line1: SlackMax)  SUM(Line2: SlackMax);
MnCapacityfLine, Period=01]:
SUM(Family IN PLine, Period2>=Period: Utilization * Produce) >= MinCapacity MinPenalty + SUM(Line1: SlackMax)  SUM(Line2: SlackMax);
SlackTransfer[Period,Line1,Line2]
WHERE Line2 = 1:
SlackMax = 0;
BINARY
Produce;
END
127
Min TotalCost
SUBJECT TO
ProductOnOneLinefProduct]
SUM(Line: ProductToLine) = 1;
JobRestrictions[Product1, Line]
SUM(Product2: p1p2) <= ProductToLine;
>p1l:
> i2j: