planeacion y programacion de la produccion

137
PRODUCTION SCHEDULING AND INVENTORY MANAGEMENT FOR AN ICE CREAM MANUFACTURER USING HIERARCHICAL PLANNING MODELS by Andrea Cameron Submitted in partial fulfillment of the requirements for the degree of MASTER OF APPLIED SCIENCE Major Subject: Industrial Engineering at DALHOUSIE UNIVERSITY Halifax, Nova Scotia March 2009 © Copyright by Andrea Cameron, 2009

description

planeacion de la produccion

Transcript of planeacion y programacion de la produccion

Page 1: planeacion y programacion de la produccion

PRODUCTION SCHEDULING AND INVENTORY MANAGEMENT FOR AN ICE CREAM MANUFACTURER USING HIERARCHICAL

PLANNING MODELS

by

Andrea Cameron

Submitted

in partial fulfillment of the requirements

for the degree of

MASTER OF APPLIED SCIENCE

Major Subject: Industrial Engineering

at

DALHOUSIE UNIVERSITY

Halifax, Nova Scotia March 2009

© Copyright by Andrea Cameron, 2009

Page 2: planeacion y programacion de la produccion

1*1 Library and Archives Canada

Published Heritage Branch

395 Wellington Street Ottawa ON K1A0N4 Canada

Bibliotheque et Archives Canada

Direction du Patrimoine de I'edition

395, rue Wellington Ottawa ON K1A0N4 Canada

Your file Votre reference ISBN: 978-0-494-50001-9 Our file Notre reference ISBN: 978-0-494-50001-9

NOTICE: The author has granted a non­exclusive 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 non­commercial 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.

The author retains copyright ownership and moral rights in this thesis. Neither the thesis nor substantial extracts from it may be printed or otherwise reproduced without the author's permission.

L'auteur conserve la propriete du droit d'auteur et des droits moraux qui protege cette these. Ni la these ni des extraits substantiels de celle-ci ne doivent etre imprimes ou autrement reproduits sans son autorisation.

In compliance with the Canadian Privacy Act some supporting forms may have been removed from this thesis.

Conformement a la loi canadienne sur la protection de la vie privee, quelques formulaires secondaires ont ete enleves de cette these.

While these forms may be included in the document page count, their removal does not represent any loss of content from the thesis.

Canada

Bien que ces formulaires aient inclus dans la pagination, il n'y aura aucun contenu manquant.

Page 3: planeacion y programacion de la produccion

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)

Page 4: planeacion y programacion de la produccion

TABLE OF CONTENTS

Page

LIST OF TABLES vi

LIST OF FIGURES vii

ABSTRACT viii

LIST OF ABBREVIATIONS ix

ACKNOWLEDGEMENTS x

Chapter 1 An Introduction to Production and Inventory Management in the Process Industries 1

Chapter 2 The Ice Cream Production Process 7

Chapter 3 Background on Production Planning in Process Industries 15

3.1 Production and Inventory Management Applications 17

3.2 General Production and Inventory Management Models 22

Chapter 4 The Hierarchical Modelling Approach 28

4.1 Production and Inventory Management System Database 29

4.2 The Yearly Aggregate Plan 30

4.3 The Weekly Scheduling Plan 31

4.4 Detailed Scheduling Model 32

Chapter 5 The Aggregate Planning Model: Model A 34

5.1 Aggregate Model Literature 34

5.2 Mathematical Model A 36

5.3 Data 39

5.3.1 Aggregating Data 40

5.3.2 Demand and Inventory 42

5.3.3 Labour Schemes 45

5.3.4 Freezer and Line Capacities 47

5.3.5 Warehouse Utilization and Costs 51

5.4 Implementation 52

5.5 Results 54

Chapter 6 The Weekly Scheduling Model: Model B 58

iv

Page 5: planeacion y programacion de la produccion

6.1 Disaggregated Model Literature 59

6.2 Initial Model Approach 66

6.3 Formulating the Model 68

6.4 Mathematical Model B 73

6.5 Data 77

6.5.1 Creating Family Groupings 78

6.5.2 Production Matrix 80

6.5.2.1 Calculating Effective Demand 81

6.5.2.2 Determining Production Hours 82

6.5.2.3 Setup Times 83

6.5.2.4 Compiling the Production Matrix 84

6.5.3 Cost Matrix 86

6.5.3.1 Setup Costs 86

6.5.3.2 Holding Costs 87

6.5.3.3 Compiling the Cost Matrix 88

6.6 Implementation 90

6.7 Results 91

6.8 Testing and Validation 94

6.9 Future Work 98

Chapter 7 The Daily Sequencing Model: Model C 100

7.1 Sequencing Model Literature 101

7.2 Mathematical Model C 104

7.3 Model C Example Implementation 107

7.4 Future Work I l l

Chapter 8 Conclusion... 112

References '. 117

Appendices 121

Appendix A Model A MPL Code ...122

Appendix B Model B MPL Code 125

Appendix C Model C MPL Code 127

v

Page 6: planeacion y programacion de la produccion

LIST OF TABLES

Table 1 - Sample of Aggregated Product Groups 41

Table 2 - Sample of Forecasted and Effective Demand 45

Table 3 - Model A Labour Schemes 46

Table 4 - Labour Scheme Sample Cost Calculations 47

Table 5 - Line Utilization Expressed in Units of 2L Tubs 49

Table 6 - Warehousing Costs by Facility 51

Table 7 - Model A Labour Scheme Results 55

Table 8 - Wagner Whitin Dynamic Lot Size Example 1 71

Table 9 - Wagner Whitin Dynamic Lot Size Example 2 71

Table 10 - Results of Elastic Constraint Testing 76

Table 11 - Sample of Product Family Groupings 80

Table 12 - Sample Production Matrix 81

Table 13 - Sample Cost Matrix 86

Table 14 - Sample Production Results from Model B 91

Table 15 -Family 1 Sample Production 92

Table 16 - Labour Schedule for Model A 95

Table 17 - Model C Example Dummy Start Times 106

Table 18 - Model C Example Product Data 107

VI

Page 7: planeacion y programacion de la produccion

LIST OF FIGURES

Figure 1 - Seasonal Ice Cream Demand Pattern 8

Figure 2 - Ice Cream Production Process 11

Figure 3 - Hierarchical Production Plan Flowchart for Ice Cream Production System.... 29

Figure 4 - Model A Inventory Results 56

Figure 5 - Yearly Labour Production Plans 57

Figure 6 - Complete Node Network for a Family 72

Figure 7 - VBA Utilization Function Flowchart 85

Figure 8 - VBA Cost Function Flowchart 89

Figure 9 - VBA Produce Function Flowchart 93

Figure 10 - Inventory Levels for Model A 95

Figure 11 - Production Levels for Models A and B 96

Figure 12 - Inventory Levels for Models A and B 97

Figure 13 - Inventory Levels by Week for Model B 98

Figure 14 - Model C Line 1 Production Example 1 108

Figure 15 - Model C Line 2 Production Example 1 109

Figure 16 - Model C Line 1 Production Example 2 110

Figure 17 - Model C Line 2 Production Example 2 110

vn

Page 8: planeacion y programacion de la produccion

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 Wagner-Whitin 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.

Vll l

Page 9: planeacion y programacion de la produccion

LIST OF ABBREVIATIONS

CPLEX

EOQ

EROT

ERP

HPP

LAFR

LP

MIP

MPL

RKM

SKU

- C programming using the simPLEX method (LP solver software)

- Economic Order Quantity

- Equalization of Run Out Time

- Enterprise Resource Planning

- Hierarchical Production Planning

- Look Ahead Feasibility Rule

- Linear Programming

- Mixed Integer Programming

- Mathematical Programming Language software

- Regular Knapsack Method

- Stock Keeping Unit

IX

Page 10: planeacion y programacion de la produccion

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 co-supervisor, 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 MIT ACS.

x

Page 11: planeacion y programacion de la produccion

1

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 multi-stage, multi-product industry, the linkages between management levels

and the specifics of the production process are even more complex.

Developing an effective production management framework consists of identifying the

natural decision levels and linkages within a company and working to compliment them.

For a production system to be effective, it must have the support of management at each

level of production. If the system's methodologies are too complex to explain in practical

terms then production managers can not be expected to have confidence in the results.

Hax and Meal (1975) developed an effective approach to production planning that

established subgoals consistent with each level of management, to allow for corrections

and coordination by managers at each stage.

Every company's breakdown will be different and identifying the management structure

is somewhat of an art form. Some industries may have only two or three levels of

decision making while others can have nearly a dozen. Neither is necessarily superior and

both will require unique solution approaches. In general, most industries will have at least

Page 12: planeacion y programacion de la produccion

2

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 sub-

problems 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.

Many of the interconnecting hierarchical decisions can be successfully modelled and

automated individually as long as they are properly linked within the hierarchical

structure. A large problem that has been decomposed into smaller subproblems is easier

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

Page 13: planeacion y programacion de la produccion

3

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 semi-independently 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

Page 14: planeacion y programacion de la produccion

4

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 semi-independently

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

Page 15: planeacion y programacion de la produccion

5

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

Page 16: planeacion y programacion de la produccion

6

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.

Page 17: planeacion y programacion de la produccion

7

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

Page 18: planeacion y programacion de la produccion

8

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.

Ice Cream Demand Pattern

/ / • • • • +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

Page 19: planeacion y programacion de la produccion

9

output is not linear. In fact, longer production days are more efficient and less expensive

per litre than short ones. During a 16-hour production day, the company can produce

more than twice as much ice cream as during an 8-hour 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 8-hour shift, both technicians work the same

8-hour shift together. During a 16-hour 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 16-hour

production days versus 8-hour days. However, with the exception of the summer months,

16-hour 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.

The company's branch manager is responsible for selecting an appropriate yearly

production plan, often developed through discussions with the production scheduler. In

the past, the company has tried increasing production as early as February and as late as

Page 20: planeacion y programacion de la produccion

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.

Page 21: planeacion y programacion de la produccion

11

Figure 2 - Ice Cream Production Process

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

Page 22: planeacion y programacion de la produccion

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.

Page 23: planeacion y programacion de la produccion

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.

Page 24: planeacion y programacion de la produccion

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.

Page 25: planeacion y programacion de la produccion

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 just-in-time scheduling,

Kanban systems, job shop scheduling algorithms, material requirements planning,

enterprise resource planning, constant work-in-progress 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

Page 26: planeacion y programacion de la produccion

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, non-

sequence 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

production-inventory 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.

Page 27: planeacion y programacion de la produccion

17

Unfortunately, its flexibility is a result of simplifying assumptions and broad

generalizations that make it easy to define but difficult to implement in practice.

3.1 Production and Inventory Management Applications

One of the oldest examples of a comprehensive production management system is Hax

and Meal's (1975) four level scheduling system that was developed for a process similar

to that of a chemical plant. The problem involved many production plants with constant

production capacity and finished goods with shared setup costs and seasonal demand

patterns. They chose a hierarchical structure because it would not be computationally

possible to optimize the entire system, and also because it was important for them to have

managerial input at each stage in the process. Hax and Meal also defined a three-level

aggregate product structure. "Items" are finished goods, ready to be shipped to

customers. They are the most detailed level and may be defined by individual SKUs.

"Families" are groups of items that share a common setup cost. Manufacturing items in

the same family together results in cost savings. "Types" are groups of families that share

common production rates, storage costs, labour requirements, and demand patterns. In

their three-tiered item structure, decision making was broken down into four levels: 1)

Products are assigned to plants using mixed-integer programming. 2) Seasonal stock

requirements are calculated at the type level using linear programming. 3) Detailed

schedules are prepared at the family level using standard inventory control methods. 4)

Individual run quantities are calculated for each item using standard inventory control

methods. The purpose of the plan was to reduce inventory and production costs while

improving customer service levels.

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

Page 28: planeacion y programacion de la produccion

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.

Smith-Daniels 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.

Smith-Daniels 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 multi-stage

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 large-scale 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

Page 29: planeacion y programacion de la produccion

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 non-zero 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 what-if questions.

Bowers and Jarvis (1992) developed a three-level hierarchical planning structure to

integrate decisions in a structured framework that 1) calculated seasonal stock

requirements on a yearly basis, 2) assigned groups of products to their most effective

production lines, and 3) developed a reasonable production sequence to minimize

changeover times. The production facility under consideration included both make-to-

stock and make-to-order items with sequence dependant changeover costs. The authors

noted a lack of existing literature in both the make-to-order and sequence dependant

cases. Similarly to the KPS model, labour availability is fixed and imposed as a constraint

Page 30: planeacion y programacion de la produccion

20

on the model. Production capacity and in-house storage are other major considerations, as

is the fact that the production lines are non-identical.

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 -

and-error decisions frequently encountered in the process industries. Their research

adapted the hierarchical planning method for Welch's, a make-to-stock 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.

Page 31: planeacion y programacion de la produccion

21

The Welch's models are complicated by the need to include flexibility for make-to-stock

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 high-level 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 four-level 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 three-stage hierarchical system while Allen and

Schuster's (1994) hierarchical model incorporated only two levels of decision making.

All the modelling examples presented here utilize finite-horizon models to schedule

production for an infinite-horizon 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.

Page 32: planeacion y programacion de la produccion

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 well-designed rolling scheduling models can produce

efficient and dependable results in an uncertain, infinite-horizon 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, multi-product, continuous and discrete production facility with significant

changeovers.

3.2 General Production and Inventory Management Models

The results of the practical applications of production inventory models clearly

demonstrate the importance of selecting an appropriate overall framework to suit the

needs of the industry. Kellogg sacrificed computing speed for a holistic model that

considered all decisions simultaneously (Brown, Keegan, Vigus, & Wood, 2001). The

hierarchical model designed for Welch's made no claims of optimality but could be

easily implemented on a simple computer in an Excel spreadsheet (Allen & Schuster,

1994), while Bowers and Jarvis (1992) incorporated make-to-order items into their three-

level hierarchical structure. The purpose of this section is to present existing research on

Page 33: planeacion y programacion de la produccion

23

various production planning structures and explore their advantages and disadvantages as

they relate to ice cream production.

Production-inventory decisions are often classified as strategic, tactical, or operational, a

framework first proposed by Anthony (1965). At the highest level, strategic decisions are

concerned with the design of the production and distribution network. They determine the

number of plants and warehouses to build and their locations and generally consider

several years into the future. On a shorter term basis, aggregate planning considers the

product mix to be produced and workforce size in each planning period and inventory

levels. Tactical decisions address the effective allocation of all available resources to

satisfy demand. Operational planning is the lowest level and deals with scheduling and

production on a day-to-day basis.

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

Page 34: planeacion y programacion de la produccion

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 intensive optimization. For example, Kellogg's 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

Page 35: planeacion y programacion de la produccion

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 sub-problems 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).

Most of the research available on HPP argues for implementing it in a production

environment (Bitran, Haas, & Hax, 1981; Bahl, Ritzman, & Gupta, 1987; Bowers &

Jarvis, 1992; Bitran & Tirupati, 1993; Allen & Schuster, 1994; McKay, Safayeni, &

Page 36: planeacion y programacion de la produccion

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 run-out 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.

Page 37: planeacion y programacion de la produccion

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 South-Eastern 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 aggregation-disaggregation 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 just-in-time production were the most

important ideals for every production facility to consider, and that long-term planning

issues can be handled with a bit of (semi) aggregate long-term forecasts and last-minute

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.

Page 38: planeacion y programacion de la produccion

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 three-

level 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.

Page 39: planeacion y programacion de la produccion

29

DATABASE

Branch Manager

Operations Coordinators

Production Scheduler

Holding Costs Labour Costs

Yearly Forecast

Weekly Forecast Setup Costs

Holding Costs

Production Matrix

Cost Matrix

Sequencing Rules

Changeover Cost Matrix

LP MODELS MODEL

OUTPUT ACTUAL

Model A: Min holding and

labour costs

Labour Schedule by

Month

Long Term Production and Inventory Levels

Model B: Min holding and

setup costs

Model C: Min setup costs

Production List with Run

Quantities by Week

Weekly Sequencing,

Line Assignments

Cycle Stock Inventory Levels

Actual Line Capacity

Figure 3 - Hierarchical Production Plan Flowchart for Ice Cream Production System

4.1 Production and Inventory Management System Database

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

Page 40: planeacion y programacion de la produccion

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.

4.2 The Yearly Aggregate Plan

The first level of the hierarchical structure is the yearly aggregate plan, where long term

production levels are determined by the branch manager. Every few months, the manager

assesses the upcoming demand forecast and decides when to produce on an 8-hour, 10-

hour, or 16-hour schedule. The manager must consider the production capacities of each

labour schedule, the availability of warehouse space, and the demand patterns of

hundreds of finished goods. The challenge is that each product group has its own unique

production speed, warehouse utilization, and demand pattern and it is difficult to predict

the resource requirements for such a diverse collection of products.

Model A is designed to assist the branch manager by selecting an appropriate labour

schedule and seasonal stock levels per month to meet demand for all products over a one

Page 41: planeacion y programacion de la produccion

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.

Model A is formulated as a mixed-integer programming problem that is constrained by

the production line capacity, spiral freezer capacity, and warehouse space. A one year

horizon was chosen to cover one full cycle of the seasonal demand pattern, which can

increase as much as 600% during peak periods. A two or more year horizon may also be

appropriate if reliable forecasting and costing information is available for future periods.

The model is intended to be updated and solved once every quarter to maintain a rolling

schedule that is consistent with the company's existing forecast updates. The model will

provide support for the branch manager to develop and modify the yearly labour plan for

the plant. The labour plan will also constrain the production demand scheduling in the

second level of the hierarchical structure. The detailed Model A discussion is in chapter

5.

4.3 The Weekly Scheduling Plan

After the yearly labour schedule has been determined, the operations coordinators are

responsible for compiling a list of products and their run quantities to be produced in the

upcoming week to utilize plant capacity and maintain the safety stock levels of all

products. Each week, the operations coordinators examine the current inventory levels for

all products and their upcoming demand forecast to determine which products must be

scheduled to avoid dropping below their safety stock levels. The run quantities are based

on rules of thumb and often do not coincide with the labour levels dictated by the branch

manager. Instead, the production scheduler will adjust the run quantities later to fill the

schedule at the detailed level. The products selected for production are considered

Page 42: planeacion y programacion de la produccion

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 13-week horizon was chosen to coincide with the

maximum lead-time 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 Detailed Scheduling Model

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

Page 43: planeacion y programacion de la produccion

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.

Page 44: planeacion y programacion de la produccion

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.

5.1 Aggregate Model Literature

To understand the model formulation used for Model A, it is useful to compare it to Hax

and Meal's (1975) aggregate planning model. Hax and Meal calculated seasonal stock

requirements using a very simple linear programming approach that minimized overtime

and inventory costs by type group, while not exceeding resource capacities and meeting

Page 45: planeacion y programacion de la produccion

35

demand. They defined a type as a group of products with similar production

characteristics such as line and storage utilization, and production and holding costs.

Indexes:

I T

Data:

- set of product types - set of periods

COjt - cost of overtime for i in t ($) CIjt - cost of holding inventory for i in t ($) SSjt - minimum safety stock for i in t (ea) Djt - demand for i in t (ea) Rt - regular production time available in t (hr) Ot - overtime production available in t (hr) ri - production rate of i (ea/hr)

Variables:

R;t - regular production allocated to i in t (hr) Ojt - overtime production allocated to i in t (hr) lit - ending inventory for i in t (ea)

Minimize:

XiZtCOuOit + XiXtChtiit

Subject To:

ZiOit<ot

rt(Ru + 0it) - Iit + /£,£_! = Dit

ht>SSit

vt .

vt Vi,t

(HM. 1)

(HM. 2)

(HM. 3)

(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

Page 46: planeacion y programacion de la produccion

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.

5.2 Mathematical Model A

Model A is a capacity planning model formulated as a mixed integer programming

problem. Based on aggregated product data, the purpose of the model is to manage the

seasonality of ice cream demand throughout the year by determining when to carry

inventory and when to increase or decrease production levels. Storing ice cream in cold

warehouses is expensive and accounts for a large portion of the cost of doing business.

Although long production days are more cost effective than short ones they result in

increased inventory levels. The significant seasonal patterns of ice cream demand in

conjunction with the varying labour and holding costs create a problem too complex to

address with a simple level or chase strategy.

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

Page 47: planeacion y programacion de la produccion

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 - set of product groups T - set of periods L - set of lines W - set of warehouses S - set of labour schemes L(k) - set of lines 1 that can produce product group k K(l) - set of product groups k that can be produced on line 1 W(k) - set of warehouses where product group k can be stored S(t) - set of labour schemes that can be considered in period t

Data:

pckn - cost to produce product group k on line 1 in period t ($/tub) hckwt - cost to hold product group k in warehouse w at end of period t ($/tub) dkt - demand for product group k in period t (tub) test - cost of using labour scheme s in period t ($) sc+kwt - cost to move product group k to warehouse w in period t ($/tub) sc'kwt - cost to move product group k from warehouse w in period t ($/tub) luki - utilization on line 1 to produce product group k (2Ltub/tub) lcsit - throughput capacity of line 1 in period t using labour scheme s (2Ltub/sf) ftik - utilization of freezer to process product group k (L/tub) fcst - throughput capacity of freezer in period t using labour scheme s (L/sf) wuk - utilization of warehouse to store product group k (pal/tub) wcw - total warehouse capacity (pal)

Variables:

Pkit - production of product group k on line 1 in period t (tub) Ikwt - inventory of product group k in warehouse w at the end of period t (tub) Yst - 1 if scheme s is used in period t, 0 otherwise S+kwt - amount of product group k shipped to warehouse w in period t (tub)

Page 48: planeacion y programacion de la produccion

38

S'kwt - amount of product group k shipped from warehouse w in period t (tub)

Minimize:

YY 2_, Pckltpklt + ^ ^ 2_, hckwtlkwt t k JGL(fe) t k weW(fc)

+ } 7 } isckwt^kwt + sckwt^kwt) + ) } ^st^st t k wew(k) t ses(t)

Subject To:

ikwt = hw(t-±) + s£m~Skwt keK.we w(k),tsT (Al)

= Y S^t+YaPklt+ Z 5fc+wt kEK,tET (A2) wew(k) l£L{k) weW(k)

Y lukiPMt ^ Y ksltYst lEL,tET (A3) kEK(l) S65(t)

Y YfUkPku - Z/Cstrst teT (A4) k I ses(t)

Ywu^kwt ^wcw tET,wE W(k) (A5) k

Y y * t = i teT ^-6) SES(t)

Put ^ 0,/fewt > 0,Sfc+

wt > 0,Sfe-wt > 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.

Page 49: planeacion y programacion de la produccion

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 end-user perspective, the inputs should be intuitive and easy to

Page 50: planeacion y programacion de la produccion

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.

5.3.1 Aggregating Data

When planning for labour and capacity requirements on a long horizon, it is not

necessary or beneficial to consider each product as an individual SKU. Combining

products into groups based on similar characteristics reduces data requirements and

improves model solution time. Although it is generally agreed that high level models

should be aggregated (Bitran, Haas, & Hax, 1981; Erschler, Fontan, & Merce, 1986;

Silver, Pyke, & Peterson, 1998) the method of aggregation depends largely on the

situation. Silver et al. suggest that converting units to a basic measurement, such as litres

of ice cream or dollars of sales, can help simplify a model's formulation. Hax and Meal

(1975) aggregated families with the same production rate, holding cost, and seasonal

demand pattern into groups.

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.

Page 51: planeacion y programacion de la produccion

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

p05

p05

p05

p05

p05

p05

p05

p05

p06

p06

p06

p06

plO

plO

plO

pXO

p.10

p l l

p l l

p l l

p l l

p l l

p l l

p l l

Brand

Brand A

Brand A

Brand A

Brand A

Brand B

Brand B

Brand B

Brand B

Brand C

Brand C

Brand C

Brand C

Brand D

Brand D

Brand D

Brand D

Brand D

Brand D

Brand D

Brand D

Brand D

Brand D

Brand D

Brand D

Flavour

Vanilla

Butterscotch Ripple

Neapolitan

Chocolate

Butterscotch

Vanilla

Chocolate

Neapolitan

Strawberry

Chocolate

Neapolitan

Vanilla

Chocolate Mint Chip

Divine Chocolate

Chocolate

Vanilla

Neapolitan

Rainbow Strawberry

Fudge Brownie

Chocolate

Vanilla

Orange

Vanilla

Type

i/c i/c I/C

I/C

I/C

I/C

I/C

I/C

I/C

I/C

I/C

I/C I/C

I/C

I/C

I/C

I/C

SHERBLT YOGOURT

YOGOURT

YOGOURT

YOGOURT

SHERBET

LIGHT

Tub Size (L)

4

4

4

4

4

4

4

4

4

4

4

4

2

2

2

2

2

2

2

2

2

?

2

2

Tubs/Pallet

330

330

330

330

330

330

330

330

390

390

390

390

540

540

540

540

540

540

540

540

540

540

540

540

Page 52: planeacion y programacion de la produccion

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 pallet-

based. 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 non-ice 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 twenty-six product groups were created in total.

5.3.2 Demand and Inventory

An updated demand forecast is provided by the sales and marketing departments on a

quarterly basis. Demand for each individual SKU is expressed per month in "tubs" of

Page 53: planeacion y programacion de la produccion

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 - Effective demand for a product in period t dt - Forecasted demand for a product in period t io - Initial inventory for a product

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.

I

Page 54: planeacion y programacion de la produccion

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 - Effective demand for a product in period t dt - Forecasted demand for a product in period t io - Initial inventory for a product sst - Safety stock level for a product in period t

det — max 10, j dt — i0 + sst \

To illustrate the importance of effective demand, Table 2 contains a sample of four

products and their demands. The total amount of starting inventory is 37,000 tubs for the

group, with 9,000 tubs allocated as safety stock and 23,000 needed to cover the first

period of demand. According to this data there will be no need to produce this group of

products in the first period because 37,000-9,000-23,000 = 5,000, indicating that there is

enough initial inventory to cover the first period of demand and have 5,000 tubs left over.

However, if the products are considered independently then SKUs 817 and 813 do not

have enough initial inventory to cover both the safety stock and demand in the first

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.

I

Page 55: planeacion y programacion de la produccion

45

Table 2 - Sample of Forecasted and Effective Demand

SKU #

818

814

817

813

Total

Inventory (tubs)

14000

20000

2000

1000

37000

Safety (tubs)

3000

4000

1000

1000

9000

Forecasted Demand

t01 (tubs)

5000

9000

4000

5000

23000

t02 (tubs)

6000

13000

4000

5000

t03 (tubs)

9000

14000

6000

8000

t04 (tubs)

2000

10000

3000

4000

Effective Demand

t01 (tubs)

0

0

3000

5000

8000

t02 (tubs)

0

6000

4000

5000

t03 (tubs)

9000

14000

6000

8000

t04 (tubs)

2000

10000

3000

4000

5.3.3 Labour Schemes

Rather than allow the model the freedom to assign any amount of regular or overtime

production, it is constrained to a selection of predefined schemes to ensure that the

resulting labour schedule consists of reasonable shift lengths. To avoid over-constraining

the model, the selection of schemes must include a wide range of possible production

scenarios the facility is likely to encounter. Discussions with the production manager

produced 12 scenarios, summarized in Table 3. The decision to stop at 12 was based on

what was considered reasonable in this case. There is no reason that the model could not

be designed with 20 or 30 labour schemes, although for every additional scheme the size

and complexity of the model also increases.

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 16-hour days on each line and one extra 8-hour day

for line 1 on Saturday. Schemes b06-bll offer the flexibility of producing more on one

line than others for situations where a particular line may be in higher demand.

Page 56: planeacion y programacion de la produccion

46

Table 3 - Model A Labour Schemes

Scheme

bOl t>02

b03 b04 b05 b06 b07 b08 b09 blO bll bl2

Line 1 (hrs per week) 0 40 80 88 40 48 40 40 48 48 40 50

Line 2 (hrs per week) 0 40 80 80 80 40 48 40 48 40 48 50

Line 3 (hrs per week) 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 10-hour 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

Page 57: planeacion y programacion de la produccion

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 16-hour shift. Wash-up 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.

Table 4 - Labour Scheme Sample Cost Calculations

Labour Scheme b02

Line 1

Line 2

Line 3

Freezer Operator AM hrs

Freezer Operator PM hrs

Freezer Packer AM hrs

Freezer Packer PM hrs

Freezer Bypass AM hrs

Freezer Bypass PM hrs

Palletizer AM hrs

Palletizer PM hrs

Lab Supervisor AM hrs

Lab Supervisor PM hrs

Lab Technician AM hrs

Lab Technician PM hrs

Wash-up Staff

Mixers AM hrs

Mixers PM hrs

Production Supervisor

Maintenance Manager

Maintenance

Sun

0

0

0

0

0

0

0

0

0

0

0

0

0

0

2

8

0

32

0

0

24

Mon

10

10

10.

30

0

90

0

10

0

50

0

8

0

8

0

16

32

0

10

8

32

Tue

. to "ift ' .

10 ,

30

0

90

0

10

0

50

0

8

0

8

0

16

32

0

10

8

40

Wed

10 -10

10":

30

0

90

0

10

0

50

0

8

0

8

0

16

32

0

10

8

40

Thu

•Iff

, 10 ! "

""'io ' 30

0

90

0

10

0

50

0

8

0

8

0

8

16

0

10

8

40

Fri

:o.--6 • '6'" 0

0

0

0

0

0

0

0

8

0

8

0

8

0

0

0

8

40

Sat

0

:'o:;'. Q . ,

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

24

Total hrs

40

40

40

120

0

360

0

40

0

200

0

40

0

40

2

72

112

32

40

40

240

Total Cost

$2,252.40

$0.00

$5,968.80

$0.00

$663.20

$0.00

$3,708.00

$0.00

$750.80

$0.00

$750.80

$38.54

$1,387.44

$2,102.24

$616.64

$822.00

$822.00

$4,684.80

$18,238.86

5.3.4 Freezer and Line Capacities

The labour schemes are defined in hours of available production per line per week. To

constrain the number of tubs of ice cream produced on each line to within capacity, the

Page 58: planeacion y programacion de la produccion

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 Speed Units Produced , _ ^ rT1. 75—-j——. 5—— + Setup Time Production Rate ^

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

Page 59: planeacion y programacion de la produccion

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 10-hour and 16-hour 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

Group

p01

p02

p03

p04

p05

p06

p07

Line 1 (2L tubs)

8.50

8.50

8.50

8.50

0

0

2.02

Line 2 (2L tubs)

0

0

0

0

2.13

2.13

0

Line 3 (2L tubs) 0

0

0

0

2.02

2.02

0

Page 60: planeacion y programacion de la produccion

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

0

1.19

0

0

1.20

1.19

0

0

0

0

0

0

1.00

1.00

1.00

1.00

1.00

1.00

1.00

1.13

0

1.20

1.20

0

0

0

0

0

0

0

0

With the implementation of the production management system, improved product

groupings and sequencing will result in higher production outputs per shift. As the

average output per shift changes, the production rates in Model A will be updated to

account for the change. Providing feedback to the system based on the actual production

rates ensures the system can adapt to a changing environment.

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 8-hour shift with capacity 80,000L, a maximum of 40,000 tubs of 2L

ice cream could be produced.

Page 61: planeacion y programacion de la produccion

51

5.3.5 Warehouse Utilization and Costs

When excess inventory exists at the end of a period, warehouse space is required and

storage and holding costs are incurred. If no warehouse space is available then no

additional inventory can be accumulated. Warehouse capacity is typically expressed as

the number of pallet spaces available per facility. The number of tubs of each product

group that can fit on a pallet is known, so the utilization is expressed as the inverse of

tubs per pallet. If a warehouse can hold 1000 pallets and a pallet holds 550 tubs of 2L ice

cream, then at most 550,000 tubs of 2L product could be stored in that warehouse at any

one time.

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.

Table 6 - Warehousing Costs by Facility

Warehouse

WH3 WH2 WH4 WH1

Capacity pal

5000 1500 2000 1000

Shipto $/pal

40

90 45 10

Shipfrom $/pal

85 25 15 85

Storage $/pal/mon

15

15 25

10

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

Page 62: planeacion y programacion de la produccion

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 labour-intensive 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 end-user to learn MPL. The MPL code can be

found in Appendix A.

Page 63: planeacion y programacion de la produccion

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.

The model is designed to be implemented on a rolling schedule. Currently, the marketing

and sales departments work together to develop a yearly forecast for each SKU by month.

Unfortunately, as with most industries, this demand forecast is fraught with uncertainties

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

Page 64: planeacion y programacion de la produccion

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

Page 65: planeacion y programacion de la produccion

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

Period

toi

t02

t03

t04

t05

t06

t07

t08

t09

tio

t i l

tl2

Actual

101

37.70149

50

45.21606

50

50

50

50

50

77.11877

80

50

40

102

2.64778

43.09285

50

50

50

50

50

50

44.66859

64.61295

50

40

103

33.30682

43.15932

50

50

50

50

50

47.89613

68.92098

70.38303

50

39.89947

Upper Bound

101

40

50

50

50

50

50

50

50

80

80

50

40

102

40

50

50

50

50

50

50

50

80

80

50

40

103

40

50

50

50

50

50

50

50

80

80

50

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.

Page 66: planeacion y programacion de la produccion

56

2500 -

2000 -

« 1500 -

<£ 1000 -

500 -

0 -

Inventory Levels by Month

\ \

0 3 6 9

Month

12

Figure 4 - Model A Inventory Results

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 10-hour

Page 67: planeacion y programacion de la produccion

57

production days is significant enough to offset the extra holding costs that result from

carrying the excess inventory.

Yearly Production Plans

i 7 *' "t

f—^:2 — — , « - / . . .

October January Aprii July

tA

S» 0 X £Z O

*J 3

TJ o a. > m !t>

3 (5

O h»

300

250

700

ISO

100

SO

Figure 5 - Yearly Labour Production Plans

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 18-hour 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.

Page 68: planeacion y programacion de la produccion

58

Chapter 6

The Weekly Scheduling Model: Model B

The purpose of Model B is to provide a well-informed detailed scheduling plan on a short

term basis that maintains the production and inventory plan imposed by Model A.

Specifically, the model determines which SKUs to schedule for production each week

and how many tubs of each product to produce. Determining appropriate run quantities

while meeting demand and reducing product loss in an environment with hundreds of

unique products and comparatively expensive changeovers is a challenge. Significant

cost and time savings can be achieved by modelling the system and minimizing these

parameters automatically. Operations coordinators will use this information as a guide

when developing the weekly production demand.

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

Page 69: planeacion y programacion de la produccion

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 Disaggregated Model Literature

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.

Page 70: planeacion y programacion de la produccion

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

Page 71: planeacion y programacion de la produccion

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 multi-item capacitated lot size problem using variable

redefinition. They started with general dynamic lot sizing problems and reformulated

them to equivalent shortest-path 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.

Allen and Schuster's Disaggregation Planning Model

Indexes:

I - set of products i T - set of periods t

Data:

CH; - holding costs for product i CSj - setup costs for product i Bjt - buffer stock requirements for product i in period t S; - setup time for product i Djt - demand for product i in period t Ft - total family requirements in period t Qi - fictitious demand at least as large as total demand over the time horizon M - large number compared to other objective coefficients

Page 72: planeacion y programacion de la produccion

62

Vi,t

Vi,t

Vi, t = 1 to 4

Vt

045.1)

04S. 2)

(i45. 3)

(ASA)

Variables:

Pit - regular production time for product i during period t 0;t - overtime production time for product i during period t lit - inventory level for product i at the end of period t Nit - 1 if product i is produced in period t, 0 otherwise Et - excess production in period t St - production shortfalls in period t

Minimize:

£ £(CH£ / i t + CStNit) + £ M(Et + St) i t t

Subject To:

ht > Bit

Pit - QtNit < 0

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

Page 73: planeacion y programacion de la produccion

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 Silver-Meal (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 Silver-Meal heuristic then determined a cost-effective 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.

Equation 4 - Silver-Meal Average Cost

= ^ + 2 t ( t - l ) * r * i 7 * D ( Q

Page 74: planeacion y programacion de la produccion

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, Silver-Meal will always suggest one replenishment to

cover all remaining periods when in fact, it may be beneficial to introduce other well-

timed 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 lot-sizing 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

lot-sizes. Developing a method that can incorporate both decisions at once could result in

Page 75: planeacion y programacion de la produccion

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 trade-off 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,

and the quality of the future forecasts.

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

Page 76: planeacion y programacion de la produccion

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 lot-sizing 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 Initial Model Approach

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 - set of periods P - set of products F - set of families F(p) - set of products p that are in family f

Data:

SSpt - minimum safety stock level for product p in period t Dpt - demand for product p in period t hcp - holding cost for product p fcf - setup cost for family f pcp - setup cost for product p p+t - maximum total production for period t p"t - minimum total production for period t

Page 77: planeacion y programacion de la produccion

67

M, p - large numbers

Variables:

Ipt - amount of inventory in storage for product p in period t Ppt - amount of production of product p in period t Zpt -1 if product p is produced in period t, 0 otherwise Xft -1 if family f is produced in period t, 0 otherwise

Minimize:

^ ^ ipthCp+Y,YJ Xftfcf+Z ZZptpcp

t p t f t p

Subject To:

lpt-lpt+i-SSpt-Dpt + Ppt = 0 PEP,tET (/.l)

Ppt - M * Ztp < 0 pEP.tET (/. 2)

£ Zpt-p*Xft<0 fEF.tET (7.3)

peP( / )

]Tp p t -p t+ <0 tET (7.4)

v

Zppt-Pt"^o tET (7-5) p

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

Page 78: planeacion y programacion de la produccion

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.

6.3 Formulating the Model

Two changes were made to improve the model by reducing its size and solution time.

When scheduling a group of products that share a common setup, costs are reduced if all

products are produced at the same time. Ideally, all products in a family will run out

concurrently and can be replenished in the same period. Silver, Pyke, and Peterson (1998)

discuss that in some cases, certain items in the family may have significantly higher setup

costs or lower average holding costs compared to the rest of the items, and it may be cost

effective to produce them less often, for example, every second time the family is

produced. There are equations for calculating replenishment cycle intervals based on the

Page 79: planeacion y programacion de la produccion

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.

Because of the difficulties inherent in coordinating alternating item replenishment cycles

in a changing, capacitated environment, and because product families naturally contain

products with similar setups and demand patterns, the decision was made to produce

every product with positive effective demand in a family at the same time. It follows that

the amount of each product produced within a family should be equalized so that all

products are expected to run out in the same period. If a product runs out too soon, then it

must be produced before the rest of its family and lose the shared setup savings, or the

whole family production can be moved forward and stored until it is needed. If a product

runs out too late, then extra holding costs were being incurred throughout the

replenishment cycle. The decision to produce all products simultaneously and equalize

their run out times means that the model need only consider production decisions in terms

of each family rather than the individual products.

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 number 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

Page 80: planeacion y programacion de la produccion

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.

Calculating the N(N+l)/2 production quantities for each family is straightforward. In

period 1, the optimal production policy will be to produce enough to cover some whole

number of future periods. The forecasted demands are known, so it is simply a matter of

summing them up sequentially, resulting in N possible production quantities for period 1.

For example, consider a product with demands 20, 30, and 15 in periods 1, 2, and 3

respectively. In period 1, the options available are to produce just enough to cover period

1 (20), cover periods 1 and 2 (20+30=50), or cover all periods (20+30+15=65) (see Table

8). If option 1 is chosen, then when period 2 arrives, another production run will be

necessary. The process is repeated for period 2, except now there are only N-l 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

Page 81: planeacion y programacion de la produccion

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

From

t l

t2

t3

To

t l

20

t2

50

30

t3

65

45

15

Table 9 - Wagner Whitin Dynamic Lot Size Example 2

From

t l

t2

t3

To

t l

0

t2

20

20

t3

35

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

Page 82: planeacion y programacion de la produccion

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.

Figure 6 - Complete Node Network for a Family

If no additional constraints were needed to define this problem then it could be solved

very effectively as a shortest-path 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

maintaining feasibility of the hierarchical structure.

Page 83: planeacion y programacion de la produccion

73

6.4 Mathematical Model B

Model B is formulated as a mixed integer programming problem. The model is based on

weekly periods and aggregated product families, where a family is a group of products

that share a common setup cost. The binary variable Pf,u,t2 represents an arc from period

tl to period t2 for family /. If the variable is equal to 1 then the family is produced in

period tl with just enough capacity to run out at the end of period t2. The capacity

utilization associated with turning on a production arc is Uf)tijt2- The value associated with

each utilization variable is calculated outside of the model in a spreadsheet and imported

before each run. A detailed discussion of the construction of this spreadsheet is found in

section 6.5.2. The cost of turning on each production arc is represented by Cf,ti,t2 and is

also calculated in the spreadsheet. A discussion of the cost calculations is found in

section 6.5.3.

Indexes:

F - set of product families T - set of periods L - set of lines F(l) - set of families f that can be produced on line 1

Data:

Uf,ti,t2 - production required to produce family f in period tl to cover tl to t2 (hr) Cf,ti ,t2 - cost of producing family f to cover periods tl to t2 ($) ca+ti - maximum production on line 1 in period t (hr) ca'ti - minimum production on line 1 in period t (hr) p - penalty cost for exceeding the maximum or minimum bounds by one hour per 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 - production transferred from line 11 to line 12 in period t (hr) Pe+n - penalty used on line 1 in period t to exceed maximum production (hr) Pe'ti - penalty used on line 1 in period t to drop below minimum production (hr)

Minimize:

Z Z Z 'Wc/.atz + Z Z p(Pe" + Peil)

f tl t2 t I

Page 84: planeacion y programacion de la produccion

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

lEL,tlET,t2ET (B. 2)

,12

~n t2>t /&F(0 TT T2

/ 1 / f ufxtiPf,\,t2 — cau ~ Peu + y Si,a,i2 ~ y Si,n,i2

t2>tfEF(l) 11 12

lEL,t2ET (fi.3)

St,n,i = 0 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.

The development of capacity constraints (B.2) and (B.3) required substantial

consideration and call for further discussion. Equation (B.2) constrains the upper

production capacity for all 13 periods, whereas equation (B.3) is only applied to the first

Page 85: planeacion y programacion de la produccion

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

2-13 because those periods require information about periods 14-25 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 first-in-first-out 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 non-preferred 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.

Page 86: planeacion y programacion de la produccion

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.

Table 10 - Results of Elastic Constraint Testing

Penalty Cost (p)

N/A

$50,000/hr

$25,000/hr

$10,000/hr

$l,000/hr

$10/hr

Solution Time

20 hrs +

2 hrs, 27 min, 51 sec

0 hrs, 09 min, 33 sec

Ohrs, 12 min, 14 sec

0 hrs, 01 min, 14 sec

0 hrs, 00 min, 0.39 sec

Production Costs

N/A

$501,514

$499,167

$500,569

$466,443

$304,580

Total Penalty Hours

N/A .

0.0000

0.0167

0.0000

25.916

1062.89

Page 87: planeacion y programacion de la produccion

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.

Page 88: planeacion y programacion de la produccion

78

6.5.1 Creating Family Groupings

Hax and Meal (1975) defined families as subsets of types that share a common setup

procedure. They then attempted to match family production to meet the total type

production as determined in the higher model. However, it may not necessarily be true

that products with similar production rates and demand patterns will also inherently share

common setup procedures. In fact, in the case of ice cream production, there are many

products from differing groups that would benefit from being scheduled together. For

example, neapolitan ice cream requires extensive setup times to arrange all three flavours

to run together. Producing all neapolitans of all sizes on the same day, even though they

are all from different product groups, saves significant setup costs. To avoid the problem

of cross-contamination between allergen and non allergen products, all products

containing a particular allergen could be scheduled to run together. There are many

advantages to creating families that are independent of the groups.

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 time-consuming 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

Page 89: planeacion y programacion de la produccion

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 three-flavoured 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.

Page 90: planeacion y programacion de la produccion

80

Table 11 - Sample of Product Family Groupings

Family

f006

f006

f006

f006

f006

f015

f015

f015

f015

f015

f015

f015

f072

f072

f072

f072

f091

Brand

Brand A

Brand A

Brand B

Brand C

Brand G

Brand D

Brand D

Brand D

Brand C

Brand C

Brand E

Brand E

Brand A

Brand A

Brand B

Brand B

Brand F

Flavour

Neapolitan

Rainbow

Moon Mist

Moon Mist

Moon Mist

Butterscotch

Strawberry

Vanilla

Butterscotch

Vanilla

Vanilla

Butterscotch Ripple

Maple

Vanilla

Vanilla

Orange Pineapple

Chocolate

Type

i/c i/c I/C

I/C

I/C

I/C

I/C

I/C

I/C

I/C

I/C

I/C

I/C

I/C

I/C

I/C

NSA

Tub Size (L)

11.4

11.4

1.89

2

11.4

4

4

4

4

4

4

4

1.89

1.89

1.89

1.89

1

Tubs /Pallet

80

80

864

768

80

390

390

390

330

330

330

330

864

864

864

864

1188

6.5.2 Production Matrix

Model B is structured as a node network with production requirements from period 1 to

period 13 for all product families. Each family's requirements consist of a 13x13 upper

triangular matrix with all possible production paths from start to finish. Production is

expressed in "hours of required production time" so it can be easily constrained by the

labour scheme's "available weekly production hours". Table 12 shows a sample matrix

for a particular product family. Each cell includes the setup time for the family, the setup

times for each product being produced in the family, and the total production time needed

to meet demand for the corresponding periods. As expected, the least amount of

production time required to reach the last period is to produce everything in the first

period in 10.41 hours. The most time intensive path is to produce the minimum amount

each period. The result of this decision is the sum of the diagonal for a total of 14.08

hours. The latter takes longer due to the additional setup costs incurred at each step.

Page 91: planeacion y programacion de la produccion

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

f001

f001

f001

f001

f001

f001

f001

f001

f001

foot

f001

f001

f001

period

1

2

3

4

5

6

7

8

9

10

11

12

13

1 2 3 4 5 6 7 8 9 10 11 12 13

Hours of production time

0.61 1.16

0.72

1.80

1.36

0.81

2.44

2.00

1.45

0.81

3.08

2.64

2.09

1.45

0.81

3.89

3.45

2.90

2.26

1.62

0.98

4.55

4.11

3.56

2.92

2.28

1.64

0.91

5.34

4.90

4.35

3.71

3.07

2.43

1.70

1.04

6.15

5.71

5.16

4.52

3.88

3.24

2.51

1.85

1.14

7.11

6.67

6.12

5.48

4.84

4.20

3.47

2.81

2.10

1.38

8.06

7.62

7.07

6.43

5.79

5.15

4.42

3.76

3.05

2.33

1.45

9.26

8.82

8.27

7.63

6.99

6.35

5.62

4.96

4.25

3.53

2.65

1.70

10.41

9.97

9.42

8.78

8.14

7.50

6.77

6.11

5.40

4.68

3.80

2.85

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.

6.5.2.1 Calculating Effective Demand

The first step in developing the network is to manipulate the forecasted demand and

starting inventories into "effective demand" before any aggregation occurs. Like Model

A, Model B must consider whether a product's existing inventory is enough to meet

demand and safety stock levels for some number of future periods. If so, then that

product's demand is effectively zero for those periods.

Page 92: planeacion y programacion de la produccion

82

In addition to the typical implementation of effective demand, there is a second issue to

address at the detailed level. The sales forecast for each product represents a certain

amount of that product being shipped from the warehouse every period. Periods are one

week in length and products are being shipped out every day. If production is planned in

a certain period to meet the demand for that period, then there is a 50% chance that it will

be scheduled to ship before it has even been produced. To guarantee that production

meets demand at all times, products are currently scheduled for production one week

before their expected sale. To account for this in the model, the entire effective demand

schedule is shifted forward by one week. In some cases, last minute changes to the

forecast or production schedule result in a positive non-shifted effective demand in the

first period. Ideally, this demand would have been satisfied with the previous week's

production, but instead it is added to the shifted production requirements for the

upcoming production week.

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.

6.5.2.2 Determining Production Hours

After the sales forecast and inventory amounts have been translated into effective

demand, they are expressed in terms of "tubs of product". However, the labour schedule

from Model A is expressed in terms of "total hours of weekly production" for each line.

Converting time to product tubs is not practical because the number of tubs that can be

produced in an hour varies largely depending on the size of the product. Converting tub

Page 93: planeacion y programacion de la produccion

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.

6.5.2.3 Setup Times

When dealing with groups of products with shared setup procedures, setup costs are

typically broken down into major family setup costs and minor inter-family setup costs.

The same method can be applied to setup times. The packaging type and the mix type are

generally both used as criteria for grouping the families so the setup time can be

expressed as "family setup time + flavour setup time". If multiple products from the same

family are produced in sequence then there is no need to incur the family setup time

again. Instead, the total setup time would become "family setup time + flavourl setup

time + flavour2 setup time + ... flavourN setup time". The more products in a family that

are produced in sequence, the smaller the impact of the initial family setup on the overall

production. The time to setup a particular flavour once a family has been started is

roughly the same regardless of which product was produced first. Therefore, these

flavour setup times are constant values and easily determined.

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

Page 94: planeacion y programacion de la produccion

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.

6.5.2.4 Compiling the Production Matrix

Unlike Model A, the data for Model B is much more difficult to aggregate in a database.

The process is complicated and involves many fixed charges that database queries are not

designed to handle. Currently, information is manipulated in the database as far as

possible and the results are output to a spreadsheet for the remaining calculations. The

database provides the list of all products, their families, their demands expressed in hours

of production time, and their setup times. A VBA function programmed in the

spreadsheet then compiles this information into the appropriate 13x13 matrices for each

family. The VBA function could be incorporated into the database in the future if desired.

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.

Page 95: planeacion y programacion de la produccion

85

Product SKUs, Families, Setup Times, Demand by (

Week Family Setup Times

Input Family StartWeek EndWeek

PUtilization = 0 Futilization = 0

Select first product in list

YES

>-«

Next product

Select first period of demand

YES

PUtilization = PUtilization +

Demand

Return \ Utilization J

Return 0

FUtilization = FUtilization + Family

Setup Time

t YES

K-NO—<TUtil ization > 0^>«-

Next Period

YES

FUtilization = FUtilization + PUtilization + Product Setup

Time PUtilization = 0

NO

Figure 7 - VBA Utilization Function Flowchart

Page 96: planeacion y programacion de la produccion

86

6.5.3 Cost Matrix

The compliment to the production matrix is the cost matrix. Every value in the

production matrix has an associated cost of executing that production schedule. Costs

include the major family setup costs, minor individual product setup costs, and any

holding costs incurred as a result of producing for more than the current period. It is these

costs that the model is designed to minimize through optimal selection of a suitable

production path for each family. The cost of production is not included because it is

independent of the path chosen and is an unavoidable expense. Table 13 shows the

sample cost matrix that corresponds with the production matrix shown in Table 12. The

cost matrix is calculated and automated similarly to the production matrix. This section

outlines the process for determining appropriate costs and compiling them into the

matrix.

Table 13 - Sample Cost Matrix

f001

f001

f001

f001

f001

f001

f001

f001

f001

f001

f001

f001

f001

1

2

3

4

5

6

7

8

9

10

11

12

13

1 2 3 4 5 6 7 8 9 10 11 12 13

Dollars

1989 2009

1989

2058

2013

1989

2136

2065

2015

1989

2262

2159

2077

2020

1989

2792

2657

2543

2454

2390

2358

2792

2657

2543

2454

2390

2358

2358

3251

3104

2977

2874

2798

2753

2740

2727

3743

3580

3438

3320

3228

3168

3140

3112

3097

4272

4092

3932

3796

3687

3609

3563

3517

3484

3466

4450

4252

4074

3921

3794

3698

3634

3570

3519

3484

3466

5015

4799

4604

4433

4287

4174

4092

4011

3942

3889

3853

3835

5263

5026

4810

4618

4452

4318

4216

4114

4024

3950

3894

3856

3466

6.5.3.1 Setup Costs

Setups generally consist of a number of common elements, such as the wages of a skilled

mechanic to perform the changeover, lost opportunity costs, and lost product when the

line is flushed. The first two costs can be directly related to the time it takes to complete a

Page 97: planeacion y programacion de la produccion

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.

6.5.3.2 Holding Costs

Whenever production is scheduled to cover more than one period of demand, holding

costs will be incurred. As with Model A, the cost of holding inventory is typically

between 10%-15% per dollar per year. Add to that the cost of storing a pallet in the

adjacent warehouse (for example, $27/month) divided out by the number of tubs per

pallet and the total holding cost per week, per tub of product can be easily calculated.

Page 98: planeacion y programacion de la produccion

88

6.5.3.3 Compiling the Cost Matrix

Like the production matrix, the majority of the calculations are carried out in Access and

then output to Excel. From there, VBA function tallies up the setup and holding costs to

populate the matrix. The function is very similar to the utilization function, as can be seen

in the flowchart for the process (Figure 8). The inputs for the function are the family

number, starting week, and ending week. The function searches the same utilization list

used by the production function and locates each product in the family. For each week

between the starting week and the ending week, product demand is converted to a

holding cost by multiplying it by the appropriate conversion factors calculated in Access.

The costs are also multiplied by the number of weeks that the product will be in storage

and then added to the total. If a product has a positive demand during the period being

considered, then its setup cost is also added to the total. If the demand is zero then no

setup cost is incurred. When the search is finished, if the total setup cost is positive then

the family setup cost is added to the total value which is returned.

Page 99: planeacion y programacion de la produccion

/input Family / StartWeek

/ EndWeek /

/ Fcost =0 /

/ D = 0 / / t = 1 /

/ Product SKUs, Families, / | Setup Costs, Demand by I I Week, Holding Costs \ Family Setup Costs \

/ ,r

Select first product in list

i t

YES Select first period of demand

YES

PCost = PCost + Holding * Demand * t

D = D + Demand

YES

Return Utilization

FCost = FCost + Family Setup Cost

Next t =

FCost = FCost + PCost + Product Setup Cost

PCost = 0

NO

Return 0 NO—

Figure 8 - VBA Cost Function Flowchart

Page 100: planeacion y programacion de la produccion

90

6.6 Implementation

Model B is implemented in MPL because of its ability to interact seamlessly with

Microsoft Excel. Model data will change on a weekly basis as the schedule is updated,

recipes are altered, new products are acquired, and more. The data must be easy to update

and understand from the perspective of a production scheduler who has likely never used

any type of solver software. Storing the data in Excel makes it easily accessible to the end

user and MPL. The MPL code for Model B is in Appendix B.

Like Model A, Model B is based on forecasted demand estimates that may not match

actual sales. At this detailed level, unexpected changes to the schedule are common and

more difficult to absorb than at the annual level. Problems such as delayed raw ingredient

shipments, last-minute promotions, and unexpected downtime due to a power failure can

all change the forecast in an instant. Fortunately, forecasts become more accurate and less

likely to change as each period approaches. By the time the upcoming period is being

scheduled, the forecasted demand for that period is likely to equal actual sales. Model B

must be implemented in such a way that it can react to these changes.

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.

Page 101: planeacion y programacion de la produccion

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 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 7 7 7 7 8 8 8 8 8 8 9 9 9 9 9

1 0 1 0 1 0 1 0 1 1 1 1 1 1

To 10 11 12 13 8 9

10 11 12 13 9

10 11 12 13 10 11 12 13 11 12 13

Prod 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 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 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

Page 102: planeacion y programacion de la produccion

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 (1-13). 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

Page 103: planeacion y programacion de la produccion

Product SKUs, Families, Demand by Week, Production Speed

Model Results: Family, FromWeek, ToWeek, Produce (0/1)

Input SKU Input Family StartWeek

Production = 0

Select first family in model

results

NO-YES

^>«

) • Next Family

Select first FromWeek

Return Utilization

YES Next

FromWeek

iAfeek =x

' ' Next Week

\ T o W e e k /

Production = Production +

Utilization

YES YES

Select first product in dataset

Select first week in dataset

-YES

Figure 9 - VBA Produce Function Flowchart

Page 104: planeacion y programacion de la produccion

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.

6.8 Testing and Validation

For a set of hierarchical models to be effective across an entire production system, the

higher levels must properly constrain the lower levels to meet the long term goals while

still allowing them the freedom to optimize the short term subproblems. To demonstrate

that the linkages between Model A and Model B are sound, a set of trial runs were

conducted with sample data based on the company's current forecast and inventory

levels.

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.

Page 105: planeacion y programacion de la produccion

95

Table 16 - Labour Schedule for Model A

Period

tOl

t02

t03

t04

t05

t06

t07

t08

t09

tio

t i l

tl2

Actual (hours per week)

101

81.55922

48

48

48

50

50

50

50

50

50

72.52846

50

102

64

32

40

39.14206

50

50

50

49.75051

50

50

64.89866

50

103

64

32

40

32

50

50

50

50

50

50

64

50

Upper Bound (hours per week)

101

88

48

48

48

50

50

50

50

50

50

80

50

102

80

40

40

40

50

50

50

50

50

50

80

50

103

80

40

40

40

50

50

50

50

50

50

80

50

Total Inventory Storage 3,000

2,500

2,000 +-» J j 1,500 TO

1,000

500

0 , , T r r 1 , , l T , T -,

$ b to b £• ' ± •$ $ & » # £ h

| ]? f i | * I ^ ,& ** rs ^ u *Sr <b ^ 3b*

# £ * **• .. # Figure 10 - Inventory Levels for Model A

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

Page 106: planeacion y programacion de la produccion

96

and actual sales equalled the forecast. Lastly, Model B was re-solved for weeks 2-14. 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.

240 ••

yj « U ^ 3 o 200 -

§ 180

§ 160 -

£ 140 -a. n 120 " & *~ 100

Bfi

'

Production Levels

~.... i _ „ \

— a . Y r — V t _ .„ „

V \\ _ k l l . V \ ^t?.

\ _ „ . _ „ ^

i i 1 r T ' t l ' t2 t3 t4 S to t7 t8 19 tlO t i l t l2 t l3

Weeks

Model B

Model A Max

Model A Min

Figure 11 - Production Levels for Models A and B

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.

Page 107: planeacion y programacion de la produccion

97

Model B is already producing improved results by achieving a higher expected output

with the family scheduling method. Model A is based on historical output data whereas

Model B considers improvements to the existing method.

3 nnn — 3,UUU

2,500 -

2,000 (A

= 1,500 -

1,000 -

500 -

ft -^

mm

0.00

Inventory Levels

0.50 1.00 1.50 2.00 2.50 3.00

Month

— Model A

Figure 12 - Inventory Levels for Models A and B

Figure 13 shows a sample of some inventory levels for families 26-30 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.

Page 108: planeacion y programacion de la produccion

98

Figure 13 - Inventory Levels by Week for Model B

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.

6.9 Future Work

The work presented in this section demonstrates that Model B is capable of meeting the

schedule given by Model A and efficiently scheduling production. Scenario testing has

been successful thus far, but there are some areas where future work could be beneficial.

Because Model B does not consider detailed factors about each product, there is the

possibility that some of the products it selects for production will be impossible to

schedule. For example, a raw ingredient or packaging material may be unavailable at the

time of production. Model B develops its schedule with a 13 week lead time so there is

ample time to order raw materials, but some packaging is produced and delivered just in

time, so a delay on the suppliers end can affect production. There is also the possibility

that Model B will produce a schedule for which no feasible weekly sequence exists. Each

Page 109: planeacion y programacion de la produccion

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.

Page 110: planeacion y programacion de la produccion

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.

To complete the hierarchical structure, Model C will be implemented on a weekly basis

following the execution of Model B. Model C has yet to be tested within the scope of this

project. The first two models have been implemented and still provide useful information

without Model C. The work of Model C can be effectively performed by a

knowledgeable production scheduler until such time that Model C can be implemented.

The design for the detailed model is presented in this section, although it has yet to be

populated with real data and tested in detail.

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

Page 111: planeacion y programacion de la produccion

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

week ' s worth of the least expensive production sequences on each line.

7.1 Sequencing Model Literature

Sequencing problems are very common among most production industries, and there is

no shortage of research on the subject of scheduling algorithms and models. One of the

Page 112: planeacion y programacion de la produccion

102

most recognized sources on production scheduling is "Theory of Sequencing" by

Conway, Maxwell, and Miller (1967). The book classifies sequencing problems as the

task of scheduling N jobs on M machines while meeting assignment restrictions and

optimizing some criterion. The M machines may represent multiple production stages for

all products, or they may represent parallel machines in a single-stage system that can

produce every job. Problems can be either static (all products are ready to be scheduled)

or dynamic (products arrive intermittently to be scheduled). Products may move from one

machine to the next in a fixed flow, or they may move randomly through the process. The

criterion to optimize can be anything from minimizing cost, makespan, product loss,

work-in-progress, or lateness, to maximizing machine utilization. The authors suggest

that the only costs associated with scheduling are inventory, utilization, and lateness.

Additional research suggests that there are other costs, such a penalty for earliness

stemming from the just-in-time philosophy (Baker & Scudder, 1990).

The ice cream production system has three unrelated parallel production lines in a single-

stage 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; Sivrikaya-

Serifoglu & Ulusoy, 1999). These approaches are all based on the assumption that

Page 113: planeacion y programacion de la produccion

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 time-consuming

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 single-unit 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

Page 114: planeacion y programacion de la produccion

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.

7.2 Mathematical Model C

The daily sequencing model starts with the set of SKUs and their production quantities as

determined by Model B. Production quantities are converted to production times based

on the speed of each line and setup times between jobs are estimated. Each SKU's run

time is then treated as a job to be scheduled. Two sets of dummy jobs are also created for

each line to correspond with the start and end of the day. The dummy jobs have zero

production requirements, switchover times, and cost, and their start times are fixed to

match the labour schedule prescribed by Model A.

Indexes:

I, J - set of jobs to be produced L - set of production lines 1(1) - set of jobs i that can be produced on line 1 J(i) - set of jobs j that can follow job i D - subset of jobs i that are dummy jobs

Data:

ptji = time required to produce job i on line 1 (hr) Sjji = time required to switch from producing job i to job j on line 1 (hr) Cjji = cost to switch from producing job i to job j on line 1 ($) dtj = the start time for dummy job i (hr) M = large number, equal to the total production time available per line

Variables:

Y;i - 1 if job i is assigned to line 1, 0 otherwise Xjji - 1 if job j immediately follows job i on line 1, 0 otherwise T, - start time of job i

Page 115: planeacion y programacion de la produccion

105

Minimize:

i j I

Xijlcijl

Subject to:

i

Y, XW ^ Yn l G l>i G K0, IZL (C 2)

% < (yH + Yn)/2 i G /,; e ;(i), l e t (c. 3)

M ( 1 - £ % j + 7} > 7* 4- ^ (p t^ + sm)Ya i G /,; G 7(0 (C. 4)

^ ^ X 0 7 = l JEJCO (C.5)

r£ = dti i e D (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

Page 116: planeacion y programacion de la produccion

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

llstt

l ldOl

Ild02

Ild03

Ild04

llend

StartTime

0

10

20

30

40

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. The 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

Page 117: planeacion y programacion de la produccion

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.

7.3 Model C Example Implementation

To test the formulation of Model C, an example was set up consisting of fourteen

products to be scheduled on two production lines over the course of two 16-hour

production days. The product information is in Table 18. Products 1-6 are dummy

products that correspond with the start and end of each production day on each line.

Products 7-20 represent the actual jobs to be scheduled. Some products can be produced

on both lines and others can only be produced on one. The production times are random

numbers between 2 and 5 hours, and changeover times are between .02 and .52 hours. A

list of all possible sequencing combinations between jobs was also randomly generated so

that not all combinations are possible.

Table 18 - Model C Example Product Data

product

1

2

3

4

5

6

7

8

9

10

11

11

12

12

line

1

1

1

2

2

2

1

2

2

1

1

2

1

2

prod time

0

0

0

0

0

0

1.25

2.67

1.6

1.52

1.19

3.94

1.48

2.41

start time

0

16

32

0

16

32

product

13

13

14

14

15

15

16

17

18

18

19

19

20

20

line

1

2

1

2

1

2

1

2

1

2 •

1

2

1

2

prod time

1.67

3.77

3.35

3.4

2.75

3.08

2.08

3.33

2.64

3.79

1.69

3.62

3.62

1.09

start time

Page 118: planeacion y programacion de la produccion

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 5 10 15 20 25 30

Day 1 Star t I I I

Job 16

Job 10

Job 14

Job 20

Day 1 End |

Job? I

Job18 | |

Day 2 End

• Setup • Production

Figure 14 - Model C Line 1 Production Example 1

Page 119: planeacion y programacion de la produccion

109

Line 2 Production

0 S 10 IS 20 25 30 35

Day 1 Start j | |

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.

Page 120: planeacion y programacion de la produccion

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

Figure 16 - Model C Line 1 Production Example 2

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

Figure 17 - Model C Line 2 Production Example 2

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

Page 121: planeacion y programacion de la produccion

I l l

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.

7.4 Future Work

One issue that the suggested model does not address is that of mix batch sizes. Mix can

only be produced in batches of 5400L or 7500L but the batch can be used in multiple

finished goods. Model C will tend to schedule products with the same mix on the same

day because of the setup cost savings but it will not try to optimize the groupings by

"total mix used". Such an extension of the model would allow mix to partially drive the

production of finished goods each day. Currently, if the company has excess mix of a

premium product then they will use it in a lower quality product rather than waste it. The

result is a loss in profit margins because an expensive mix is sold as an economy product.

If premium products are appropriately scheduled and there is no excess mix at the end of

the day then the company can charge the proper amount for every litre of mix produced.

One possible approach to the mix-batch 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.

Page 122: planeacion y programacion de la produccion

112

Chapter 8

Conclusion

Effectively managing the production and inventory of any manufacturer requires a

careful examination of the specific nuances of their production and distribution processes.

The process is difficult because although a great deal of research has been conducted in

the area of production management systems and process modelling, none of the existing

work has been directly applied to ice cream manufacturing. No two industries are alike

and additional research and new ideas are necessary to discern which existing methods

are the most appropriate and how they can best be adapted to the situation at hand. A

practical approach to ice cream production management is presented in this thesis and

demonstrates how the system is both effective and meaningful for the manufacturer.

Hierarchical production planning is favourable because it has the ability to capture many

levels of production decision management and solve them semi-independently, 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.

Page 123: planeacion y programacion de la produccion

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.

Model A provides management with a snapshot of their company's current ability to

meet demand. As the results from the sample studies showed, the existing production

facility has more than enough capacity to meet existing demand levels. The model is

useful for determining the suitability of taking on new customers with increased demand

levels, the effects of adding additional production lines, or the advantage of increasing to

18-hour workdays. The model was used to examine the effects of increasing demand by

33% and confirm management suspicions that a fourth production line would need to be

added. Before the construction of this tool, the company had no way to model and define

the capacities of their facility. Although the model is not designed to compute the actual

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

Page 124: planeacion y programacion de la produccion

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.

Unlike many other disaggregation models in the literature, Model B is designed to

efficiently manage the coordination of hundreds of products simultaneously. Other

models restrict their formulations to a dozen products or only solve for one family at a

time because otherwise their computation times become unmanageable. Others employ

the use of metaheuristics that do not guarantee an optimal solution. Model B minimizes

the setup and holding costs for hundreds of products in a changing, capacitated

environment. Model B is also designed to ensure feasibility for three month's into the

future, barring any major unexpected changes in demand, unlike many of the more short­

sighted models that can consider only a few periods. Lastly, Model B's run quantities all

correspond to an integer number of future periods without requiring computationally

intensive integer constraints on production.

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

Page 125: planeacion y programacion de la produccion

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

Page 126: planeacion y programacion de la produccion

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 18-hour 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.

Page 127: planeacion y programacion de la produccion

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), 15-21.

Alon, N., Azar, Y., Woeginger, G., & Yadid, T. (1998). Approximation Schemes for Scheduling on Parallel Machines. Journal of Scheduling, 1, 55-66.

Anthony, R. N. (1965). Planning and Control Systems: A Framework for Analysis. Cambridge, Mass.: Harvard University Press.

Axsater, S. (1986). Technical Notes on the Feasibility of Aggregate Production Plans. Operations Research, 34 (5), 796-800.

Azizoglu, M., & Kirca, O. (1999). Scheduling Jobs on Unrelated Parallel Machines to Minimize Regular Total Cost Functions. HE Transactions, 31, 153-159.

Bahl, H., Ritzman, L., & Gupta, J. (1987). Determining Lot Sizes and Resource Requirements: A Review. Operations Reserach , 35 (3), 329-345.

Baker, K. R. (1977). An Experimental Study of the Effectiveness of Rolling Schedules in Production Planning. Decision Sciences, 8 (1), 19-27.

Baker, K., & Scudder, G. (1990). Sequencing with Earliness and Tardiness Penalties: A Review. Operations Research, 38 (1), 22-36.

Biggs, J. R. (1979). Heuristic Lot-Sizing and Sequencing Rules in a Multistage Production-Inventory System. Decision Sciences, 10 (1), 96-115.

Birewar, D., & Grossmann, I. (1990). Simultaneous Production Planning and Scheduling in Multiproduct Batch Plants. Industrial & Engineering Chemistry Research , 29, 570-580.

Bitran, G., & Tirupati, D. (1993). Hierarchical Production Planning. In S. Graves, A. Rinnooy Kay, & P. Zipkin, Logistics of Production and Inventory (Vol. 4, pp. 523-568). Amsterdam: Elsevier Science Publishers.

Bitran, G., Haas, E., & Hax, A. (1981). Hierarchical Production Planning: A Single Stage System. Operations Research , 29 (4), 717-743.

Bowers, M. R., & Jarvis, J. P. (1992). A Hierarchical Production Planning and Scheduling Model. Decision Sciences:, 23 (1), 144-159.

Brown, G., Keegan, J., Vigus, B., & Wood, K. (2001). The Kellogg Company Optimizes Production, Inventory, and Distribution. INTERFACES, 31 (6), 1-15.

Page 128: planeacion y programacion de la produccion

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), 1083-1100.

Chen, Z.-L., & Powell, W. (1999). Solving Parallel Machine Scheduling Problems by Column Generation. INFORMS Journal on Computing ,11, 78-94.

Conway, R., Maxwell, W., & Miller, L. (1967). Theory of Scheduling. Reading: Addison-Wesley.

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, 683-699.

Dzielinski, B., & Gomory, R. (1965). Optimal Programming of Lot Size, Inventory and Labour Allocations. Management Science, 11 (9), 874-890.

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, Multi-Objective Programming and Goal Programming (pp. 117-122). Berlin: Springer.

Eppen, G., & Martin, R. (1987). Solving Multi-Item Capacitated Lot-Sizing Problems Using Variable Redefinition. Operations Research , 35 (6), 832-848.

Erschler, J., Fontan, G., & Merce, C. (1986). Consistency of the Disaggregation Process in Hierarchical Planning. Operations Research, 34 (3), 464-469.

Fransoo, J., & Rutten, G. (1994). A Typology of Production Control Situations in Process Industries. International Journal of Operations & Production Management , 14 (12), 47-57.

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), 436-443.

Graves, S. (1982). Using Lagrangean Techniques to Solve Hierarchical Production Planning Problems. Management Science , 28 (3), 260-275.

Page 129: planeacion y programacion de la produccion

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. 182-195). Springer.

Harris, F. (1990). How Many Parts to Make at Once. Operations Research , 38 (6), 947-950.

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 Multi-Item Scheduling. Operations Research , 19 (4), 946-969.

Lee, Y., & Pinedo, M. (1997). Scheduling Jobs on Parallel Machines with Sequence Dependent Setup Times. European Journal of Operational Research , 100, 464-474.

Lenstra, J., Shmoys, D., & Tardos, E. (1990). Approximation Algorithms for Scheduling Unrelated Parallel Machines. Mathematical Programming , 46, 259-271.

Li, K., & Yang, S.-L. (2009). Non-Identical Parallel-Machine Scheduling Research with Minimizing Total Weighted Completion Times: Models, Relaxations and Algorithms. Applied Mathematical Modelling , 33, 2145-2158.

Loos, P., & Allweyer, T. (1998). Appliation of Production Planning and Scheduling in the Process Industries. Computers in Industry, 36, 199-208.

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), 115-135.

McKay, K., Safayeni, F., & Buzacott, J. (1995). A Review of Hierarchical Production Planning and its Applicability for Modern Manufacturing. Production Planning & Control, 6 (5), 384-394.

Meyr, H. (2002). Simultaneous Lotsizing and Scheduling on Parallel Machines. European Journal of Operational Research , 139 (2), 277-292.

Pryor, J., Ostrovsky, K., & Linder, S. (2007). Analysis of Ice Cream Mix Loss - Final Report. Halifax, Nova Scotia: Dalhousie University, Industrial Engineering Department.

Page 130: planeacion y programacion de la produccion

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, 64-74.

Silver, E. (2004). An Overview of Heuristic Solution Methods. Journal of the Operational Research Society, 55, 936-956.

Silver, E., & Miltenburg, J. (1984). Two Modifications of the Silver-Meal Lost Sizing Heuristic. INFOR ,22(1), 56-69.

Silver, E., Pyke, D., & Peterson, R. (1998). Inventory Management and Production Planning and Scheduling (3rd ed.). New York: John Wiley & Sons, Inc.

Sivrikaya-Serifoglu, F., & Ulusoy, G. (1999). Parallel Machine Scheduling with Earliness and Tardiness Penalties. Computers & Operations Research, 26, 773-787.

Smith-Daniels, V., & Ritzman, L. (1988). A Model for Lot Sizing and Sequencing in Process Industries. International Journal of Production Research, 26 (4), 647-674.

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, 1246-1264.

Wager, H. M., & Whitin, T. (1958). Dynamic Version of the Economic Lot Size Model. Management Science, 5(1), 89-96.

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.

Page 131: planeacion y programacion de la produccion

121

Appendices

Page 132: planeacion y programacion de la produccion

Appendix A Model A MPL Code

TITLE "Aggregate Planning Model";

INDEX Product := DATABASE(model_groupings, Product=group_num); Warehouse := DATABASE(model_warehouses, Warehouse=warehouse); Period := DATABASE(modelj>eriods, Period=period); Line := DATABASE(model_lines, Line=line); ProductByLine[Product, Line] := DATABASE(model_group_to_line,

Product=group_num, Line=line); ProductByWarehouse[Product, Warehouse] :=

DATABASE(model_product_to_warehouse, Product=group_num, Warehouse=warehouse); {Labour data is still stored in Excel due to the complexity of its calculations.} Labour := EXCELRANGE("SB APM.xls", "LabourlLabour"); LabourByPeriod[Period, Labour] := EXCELRANGEfSB APM.xls",

"PeriodslLabourByPeriod");

VARIABLES Production[Product, Line IN ProductByLine, PeriodotOO] -> Prod

EXPORT TO EXCELSPARSEfSB APM.xls","Results!Production");

EndlnventoryfProduct, Warehouse IN ProductByWarehouse, Period] -> Endl EXPORT TO EXCELSPARSEfSB APM.xls","Results!Endlnventory");

LabourScheme[Period, Labour IN LabourByPeriod] -> Labr EXPORT TO EXCELSPARSEfSB APM.xls","Results!LabourScheme");

ProductToWarehouse[Product, Warehouse, PeriodotOO] -> ToWH EXPORT TO EXCELSPARSEfSB APM.xls","Results!ProductTo");

ProductFromWarehouse[Product, Warehouse, PeriodotOO] -> FrWH EXPORT TO EXCELSPARSEfSB APM.xls","Results!ProductFrom");

DATA WHCapacityfWarehouse] := DATABASE(model_warehouses,

Warehouse=warehouse, WHCapacity=capacity); ShipTo[PeriodotOO, Product, Warehouse] := DATABASE(model_shipto,

Period=period, Warehouse=warehouse, Product=group_num, ShipTo=shiptocost); ShipFrom[PeriodotOO, Product, Warehouse] := DATABASE(model_shipfrom,

Period=period, Warehouse=warehouse, Product=group_num, ShipFrom=shipfromcost); LineUtilization[Product,Line] := DATABASE(model_line_utilization,

Product=group_num, Line=line, LineUtilization=amount); ProductionCost[PeriodotOO, Product, Line] := DATABASE(model_production_cost,

Period=period, Product=group_num, Line=line, ProductionCost=production_cost); ProductDemand[Product, Period] := DATABASE(modeLdata,

Product=group_num, Period=period, ProductDemand=pdemand); FreezerUtilization[Product] := DATABASE(model_freezer_util,

Product=group_num, FreezerUtilization=freezer_utilization); WHUtilization[Product] .:= DATABASE(modeLwarehouse„util,

Product=group_num, WHUtilization=wh_utilization);

Page 133: planeacion y programacion de la produccion

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 MIN Costs = TotalCost;

SUBJECT TO lnventoryBalance[Product, Warehouse, PeriodotOO] -> IBal:

Endlnventory[Period-1] + ProductToWarehouse - ProductFromWarehouse = Endlnventory;

Startinglnventory[Product, Warehouse, Period=t00] -> Slnv: Endlnventory = 0;

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);

Page 134: planeacion y programacion de la produccion

LimitOvertime[Period<>tOO] -> OLim: SUM(Labour: LabourScheme) = 1;

WHMaxCapacity[Period, Warehouse] -> WCap: SUM(Product: Endlnventory * WHUtilization) <= WHCapacity;

BOUNDS Production >= 0; Endlnventory >= 0; ProductToWarehouse >= 0; ProductFromWarehouse >= 0;

BINARY LabourScheme;

END

Page 135: planeacion y programacion de la produccion

Appendix B Model B MPL Code

TITLE "Model B v5.0"

INDEX Family Period Periodl [Period] Period2[Period]

= EXCELRANGEfModel B v4.0.xls", "Family InformationlFam"); = EXCELRANGE("Model B v4.fj.xls", "Product DemandlPer"); = Period; = Period;

Line := EXCELRANGEfModel B v4.0.xls", "Production ConstraintslLine"); Line1[Line] Line2[Line] PLine[Family, Line]

InformationlPByL");

= Line; = Line;

EXCELRANGEfModel B v4.0.xls", "Family

VARIABLES Produce[Family, Periodl, Period2] ->Prod

WHERE Periodl <=Period2 EXPORT TO EXCELSPARSEfResults.xls", "ResultslProduce");

SlackMax[Period, Linel, Line2] ->MinS WHERE Line1oLine2 EXPORT TO EXCELSPARSEfResults.xls", "ResultslSlack");

MaxPenalty[Period, Line] ->MaxP EXPORT TO EXCELSPARSEfResults.xls", "ResultslMaxPenalty");

MinPenalty[Line] ->MinP EXPORT TO EXCELSPARSEfResults.xls", "ResultslMinPenalty");

DATA Utilization[Family, Periodl, Period2] := EXCELRANGEfModel B v4.rj.xls",

"Create MatrixIFamUtil"); Cost[Family, Periodl, Period2] := EXCELRANGEfModel B v4.0.xls",

"Create MatrixiCost"); MaxCapacity[Period, Line] := EXCELRANGEfModel B v4.0.xls",

"Production ConstraintslMaxCapacity"); MinCapacity[Period, Line] := EXCELRANGEfModel B v4.0.xls",

"Production ConstraintsiMinCapacity");

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);

Page 136: planeacion y programacion de la produccion

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

Page 137: planeacion y programacion de la produccion

127

Appendix C Model C MPL Code

TITLE "Daily Scheduling Model C";

INDEX Product Dummy[Product] Productl [Product] Product2[Product] Line ProductByLine[Product, Line] ProductPermissions[Product1, Product2] := EXCELRANGE("Test Data.xls",

"Permissions");

= (1-20); = (1,2,3,4,5,6); = Product; = Product; •=(1,2);

EXCELRANGE("Test Data.xls", "ProdtoLine");

VARIABLES ProductToLine[Product, Line IN ProductByLine] -> Y; p1 p2[Product1, Product2 IN ProductPermissions, Line] -> X

EXPORT TO EXCELSPARSE("Test Data.xls", "results!p1p2"); StartTimeP[Product] -> T;

DATA SetupTimes[Product1, Product2] Cost[Product1, Product2] ProductionTime[Product, Line]

= EXCELRANGE("Test Data.xls", "setuptimes"); = EXCELRANGEfTest Data.xls", "cost"); = EXCELSPARSEf'Test Data.xls", "prodtime");

StartTimeD[Dummy] := EXCELRANGE("Test Data.xls", "dummystart");

MACROS

TotalCost = SUM(Product1, Product2, Line: Cost * p1p2);

MODEL Min TotalCost

SUBJECT TO ProductOnOneLinefProduct] ->p1l:

SUM(Line: ProductToLine) = 1; JobRestrictions[Product1, Line] -> i2j:

SUM(Product2: p1p2) <= ProductToLine;

iandjonl[Product1, Product2, Line] -> ijl: p1p2 <= 0.5*(ProductToLine[Product1] + ProductToLine[Product2]);

itojstarttime[Product1, Product2 in ProductPermissions] -> ijs: 32*(1-sum(Line:p1p2)) + StartTimeP[Product2] >= StartTimeP[Product1] +

SUM(Line:ProductionTime[Product1]*p1 p2) + SUM(Line:SetupTimes*p1 p2);

Dummies[Product IN Dummy]: StartTimeP = StartTimeD;

Somme[Product2]: SUM(Line, Productl in ProductPermissions: p1p2)=1;

BINARY p1p2; ProductToLine;