Professional Documents
Culture Documents
Abstract Number: 002-0259 Title of The Paper: Excel Model For Aggregate Planning Name of The Conference: Second World Conference On POM and 15
Abstract Number: 002-0259 Title of The Paper: Excel Model For Aggregate Planning Name of The Conference: Second World Conference On POM and 15
Name of the Conference: Second World Conference on POM and 15th Annual POM
Universidad de Huelva
agucor@uhu.es
Universidad de Huelva
padilla@uhu.es
Abstract
Spreadsheets are the most common software tool managers use to analyze data and model
quantitative problems. They have also become one of the preferred tools for teaching quantitative
methods to business school students. In this paper we introduce an Excel model for aggregate
planning, characterized by its great flexibility and for the use of Excel Solver, which in many
cases allow us to find the optimal solution for a given set of conditions.
Back to "Search By Author"
Introduction
It is a fact that spreadsheets are the preferred tool for teaching quantitative methods to
undergraduate and graduate business students (Jordan et al., 1997). This has led to the
publication of an increasing number of textbooks dealing with modeling and decision analysis
using spreadsheets (Hesse, 1997, Eppen et al., 1998, Savage, 1998, Barlow, 1999, Monahan,
2000, Winston and Albright, 2000, Lapin and Whisler, 2001, Weida, Richardson and Vazsonyi,
2001, Render, Stair and Balakrishnan, 2002, Hillier, Hillier and Reagan, 2003, Ragsdale, 2003).
The reasons for the popularity of spreadsheets are many, but we could highlight the
following: they are widespread (Mason and Keane, 1989), user-friendly, flexible, and allow the
analysis of multiple scenarios. Therefore, many companies and education centers have found
spreadsheets to be an easy method for business modeling as they offer a wide set of tools ranging
from formulas —whether easy ones or more complex ones— to simulation of different scenarios,
Perhaps the most remarkable fact is that spreadsheets have become an excellent delivery
vehicle for teaching optimization (Evans, 1986), which in many cases allow us to find the
Microsoft Excel Solver has greatly helped in this, as it is the most widely distributed and
almost surely the most widely used general-purpose optimization modeling system (Fylstra et al.,
1998).
In fact, we use Microsoft Excel to teach our undergraduates aggregate planning. First, it
is necessary to introduce them to basic spreadsheet concepts and later proceed to the modeling of
problems, trying to include the greatest number of possibilities in order to analyze all the results
1
Back to "Search By Author"
Aggregate Planning
Aggregate planning involves translating business plans into broad labor and output plans
for the intermediate term. Its objective is to minimize the cost of resources required to meet
To achieve this, it is necessary for the planner to consider various decision alternatives.
The two basic types of decision alternatives are reactive and aggressive (Krajewski and Ritzman,
2001).
introducing modifications in the work force levels, overtime, vacation schedules, inventory
On the other hand, aggressive alternatives try to modify the demand in order to adapt it to
products, etc. This kind of alternative tends to be the responsibility of the marketing manager.
Assuming that the effect of aggressive alternatives has already been incorporated into the
demand forecasts, the planner will have to focus on reactive alternatives. Therefore, he/she will
have to establish a planning strategy which selects the best options. A possible way to achieve
this is by starting up with both chase and level strategies and then moving later on into a mixed
strategy.
Chase strategy
This strategy adjusts production rates to match the demand requirements period by
period. In order to achieve this objective, the planner cannot make use of the anticipation
2
Back to "Search By Author"
inventory, or undertime. Therefore, he/she has to use other options such as hiring and laying off
workers, overtime, and subcontracting. This approach has the advantage of low inventory
investment and backlogs, although it has some disadvantages, such as the potential alienation of
the work force and the loss of productivity and lower quality because of the constant churn in the
work force.
Level strategy
This strategy either keeps a constant output rate or work force level over the planning
horizon. To achieve this, and contrary to the previous strategy, it can use the anticipation
inventory and/or undertime. The main advantages are level output rates and a stable work force
Obviously, between these two strategies there is a range of possible strategies and the
planner should find the best mixed strategy to improve the solution obtained by the two previous
strategies.
2. Should changes in demand be accommodated by varying the size of the work force?
Despite the many possibilities this approach offers, it makes aggregate planning much
3
Back to "Search By Author"
To analyze aggregate planning in the classroom we use the trial-and-error approach using
The planning department of a company is faced with determining the aggregate plan for a
product family over the next twelve months. In this plan, the company wants to determine the
number of workers needed each month, the number of regular and overtime hours required, the
number of units to be produced and subcontracted, and the total cost associated with the plan.
The size of the work force is set at the beginning of each month. Workers may be hired or
fired to change the available amount of production. We do not try to plan for vacations, sickness,
Hourly rates are associated with regular and overtime labor and it is assumed that all
workers are paid to work an entire month, even if they are not productive. The company uses a
4
Back to "Search By Author"
Inventory at the beginning of the first month is 1,000 units. Because the demand forecast
is imperfect, the company has determined that a safety stock of 500 units should be established.
The company policies establish that unsatisfied demand can be backordered and filled in
a future period. Additionally, according to policies, the minimum number of employees must be
15 at all times, and the maximum number 60, which corresponds to the maximum capacity of the
facility. A final policy establishes that overtime on a daily basis cannot exceed one hour per
worker.
Finally, the total cost is made up of the sum of costs derived from the wages of regular
work and overtime, undertime (this cost is only computed if the number of workers needed in a
given month is lower than the minimum number of employees), subcontracting, carrying
This approach is easy to understand and convenient to use, and involves costing out
various aggregate planning alternatives and selecting the one that is best on a trial-and-error
basis.
The main problem is that the vast amount of calculations required makes it difficult to
apply the process manually, and so a spreadsheet is required. In our case, we use Microsoft
Excel, which allows the students to simulate different alternatives within a few seconds.
demand forecasts into production requirements (Chase, Aquilano and Jacobs, 1998), which take
5
Back to "Search By Author"
into account the amount of inventory on hand at the beginning of the forecast period and the
safety stock estimates. Note that these requirements implicitly assume that the safety stock is
never actually used, so that the ending inventory each month equals the safety stock for that
month.
The three aggregate plans included in the spreadsheet are a chase (i.e., variable
production rate model), a level (i.e., constant work force model), and a manual aggregate plan.
The first two plans are automatically calculated, while the third plan, the manual, is user inputted
based upon the information provided in the other two plans. In this latter case, the student has the
button Set Workers Required which, after establishing the strategy offering fewer costs, equates
the number of workers needed in the mixed strategy with those in the lower-cost strategy (see
table 2 and figures 1 and 2). From this moment on, the student can modify the number of
workers on a trial-and-error basis to look for the best solutions. Changes in this row have an
influence on all the other spreadsheet numbers, and therefore on the final total cost. For further
details, Appendix 1 shows the formulas required in each cell, based on Excel protocols.
6
Back to "Search By Author"
However, in spite of its relative simplicity, finding a minimum cost solution is not guaranteed. In
other words, given that we are dealing with an iterative process, the “quality” of the solution for
the mixed or manual plan will depend on the actual skills of the planner. Therefore, it is
reasonable to try to find a method that could lead to an optimal or satisfactory solution,
independently of the skills of the planner. The Solver tool bundled with Microsoft Excel can help
to achieve this.
7
Back to "Search By Author"
Optimizing with Excel Solver takes as a starting point the model developed in the
spreadsheet. Later on, and using the Solver Parameters dialog box (see figure 3), the planner
specifies the objective function (in our case, total cost), variables (the number of workers
required each month), and constraints. After entering all the appropriate parameters and choosing
any necessary options for our model, Excel Solver extracts the optimization problem from the
spreadsheet formulas and builds a representation of the problem adapted to the corresponding
methods. Finally, Excel Solver obtains an optimal solution and updates the model developed in
the spreadsheet.
8
Back to "Search By Author"
In our model, the decision variables are the number of workers required from January to
December, and so the optimization problem involves integers variables with three constraints,
1. The number of workers needed each month has to be less than or equal to the maximum
number of employees.
3. The number of workers required each month has to be greater than or equal to minimum
number of employees.
In addition, and due to the inclusion in the spreadsheet of discontinuous functions such as
IF or AND, related to the target cell, the model becomes nonlinear, which means we will be
Although it is possible to solve nonlinear integer problems with the Excel Solver, users
should be aware of the intrinsic limitations of this process (Eppen et al., 1998):
9
Back to "Search By Author"
spreadsheet cell(s) will be very likely invalidate responsible use of Solver if the objective
function cell formula or any constraint formulas depend directly or indirectly upon the
cell(s) containing those functions. Not only does the IF function void linearity, but it is
likely introduces discontinuities into the feasible region or the set of possible objective
function values. This in turn affects the partial derivative estimates computed internally
by Solver that guide it toward optimality. Neither Solver nor any known optimization
procedure can be guaranteed to handle such discontinuities reliably for all models.
• For nonlinear models, the Changing Cell values from a previous Solver run, if any,
become the initial Changing Cell values used if Solver is run again; that is, if it is
feasible, Solver starts from where a previous Solver run left off.
• Linear and especially nonlinear model optimizations by Solver are very sensitive to the
scaling of numbers in the model. Avoid units of measure in models that produce numbers
whose differences span more than about 6 or 7 orders of magnitude. If the difference is
greater, it will lead to cumulating roundoff and/or truncation errors as Solver optimizes
the model that may result in wrong Changing Cell solutions or bogus error messages. For
some nonlinear models the internal re-scaling generated by Use Automatic Scaling may
• Because the arithmetic accuracy of calculations is finite, the constraints cannot always be
satisfied exactly. The Precision value in Solver Options is used to assess whether a
constraint is adequately satisfied. In any event, its value should not exceed 0.001 nor be
below 0.00000001.
10
Back to "Search By Author"
intensive, and hence convergence is slow. To speed up solution time, Solver uses a
Tolerance value permitting a "slightly" less than optimal objective function value. For
example, the default setting of Tolerance = 5% means that an approximate solution with
objective function value within 5% of the true optimum while satisfying the constraint is
Therefore, given the intrinsic limitations of this process, the branch-and-bound algorithm
that uses GRG to solve subproblems may fail to find a feasible solution for a subproblem, even
though one exists, or it may return a local optimum that is not global. Because of this, the
branch-and-bound algorithm is not guaranteed to find the integer true optimum for nonlinear
problems, although it will often succeed in finding a "good" integer solution (Fylstra et al.,
1998).
In other words, Solver will lead different planners —starting up from the same model—
to an improved solution, should this exist, which might not match the global optimum.
Considering this, the options selected for our problem are those shown in figure 4. Note
the option Use Automatic Scaling is selected and the value in the Tolerance edit box.
11
Back to "Search By Author"
After running Excel Solver for the first time, the total cost drops from $471,459 to
$408,088. As we pointed earlier, this solution might not necessarily be the optimum one.
Therefore, we run Excel Solver again taking as a starting point the solution obtained and we
repeat the process until no further improvement is obtained in total cost (to simplify the process
we have programmed a macro, we have called Solver, that runs Excel Solver repeatedly until it
cannot improve the solution. See Appendix 2). In our problem, the final total cost is $406,465,
which involves an improvement over the original model of $64,994. Despite the limitations, we
think this saving justifies the use of Excel Solver to optimize models and find satisfactory
solutions. In this way, the planner will not have to develop the trial-and-error method manually.
Conclusions
Spreadsheets motivate students to experiment with and learn more about production
planning and control systems, and particularly about aggregate planning. In addition, using
spreadsheets and add-ins develops student’s skills within a familiar context that will carry over to
12
Back to "Search By Author"
the workplace, especially in small firms where they, probably, will have to develop their own
References
Barlow, J. F. Excel Models for Business and Operations Management. Chichester: John Wiley &
Sons, 1999.
Management Science: Decision Modeling with Spreadsheets. Upper Saddle River, New
Fylstra, D., L. Lasdon, J. Watson, and A. Waren. “Design and Use of the Microsoft Excel
Jordan, E., L. Lasdon, M. Lenard, J. Moore, S. Powell, and T. Willemain. “OR/MS and
Krajewski, L. J., and L. P. Ritzman. Operations Management: Strategy and Analysis. Upper
13
Back to "Search By Author"
Lapin, L. L., and W. D.Whisler. Quantitative Decision Making with Spreadsheet Applications.
Mason, D., and D. Keane. “Spreadsheets: Solution or Problem?” Interface New Zealand, October
(1989): 82-84.
Render, B., R. M. Stair, and N. Balakrishnan. Managerial Decision Modeling with Spreadsheets
and Student CD-ROM. Upper Saddle River, N.J.: Prentice Hall, 2002.
Savage, S. L. Insight.xla: business analysis software for Microsoft Excel. Pacific Grove,
Weida, N. C., R. Richardson, and A. Vazsonyi. Operations Analysis Using Microsoft Excel.
Winston, W. L., and S. C. Albright. Practical Management Science: Spreadsheet Modeling and
14
Back to "Search By Author"
In this model (see figure 1), the decision variables are indicated by cells with dashed
borders (cells B17 through M17), constraint cells are indicated by cells with solid borders
(B37:M40; B40:B41), and the cell representing the objective function is indicated with a double
15
Back to "Search By Author"
This macro is associated with the Solver button (see figure 1), and its source code is as
follows:
Sub Solver()
' Run the macro Set_Workers_Required to establish the initial number of workers
Set_Workers_Required
' It makes the value of variable val equal to the value that appears in cell N33
val = Range("N33").Value
' Solve the model but do not display the Solver Results dialog box
SolverSolve UserFinish:=True
val = Range("N33").Value
ByChange:="$B$17:$M$17"
16
Back to "Search By Author"
SolverSolve UserFinish:=True
Loop
Range("N33").Select
End Sub
17