OptQuest User Manual
OptQuest User Manual
OptQuest User Manual
4
User Manual
OptQuest User Manual, Version 2.4
Copyright 1988, 2007, Oracle and/or its affiliates. All rights reserved.
The Programs (which include both the software and documentation) contain proprietary
information; they are provided under a license agreement containing restrictions on use
and disclosure and are also protected by copyright, patent, and other intellectual and
industrial property laws. Reverse engineering, disassembly, or decompilation of the
Programs, except to the extent required to obtain interoperability with other
independently created software or as specified by law, is prohibited.
The information contained in this document is subject to change without notice. If you
find any problems in the documentation, please report them to us in writing. This
document is not warranted to be error-free. Except as may be expressly permitted in
your license agreement for these Programs, no part of these Programs may be
reproduced or transmitted in any form or by any means, electronic or mechanical, for
any purpose.
If the Programs are delivered to the United States Government or anyone licensing or
using the Programs on behalf of the United States Government, the following notice is
applicable:
The Programs are not intended for use in any nuclear, aviation, mass transit, medical, or
other inherently dangerous applications. It shall be the licensee's responsibility to take all
appropriate fail-safe, backup, redundancy and other measures to ensure the safe use of
such applications if the Programs are used for such purposes, and we disclaim liability for
any damages caused by such use of the Programs.
Oracle is a registered trademark of Oracle Corporation and/or its affiliates. Other names
may be trademarks of their respective owners.
The Programs may provide links to Web sites and access to content, products, and
services from third parties. Oracle is not responsible for the availability of, or any content
provided on, third-party Web sites. You bear all risks associated with the use of such
content. If you choose to purchase any products or services from a third party, the
relationship is directly between you and the third party. Oracle is not responsible for: (a)
the quality of third-party products or services; or (b) fulfilling any of the terms of the
agreement with the third party, including delivery of products or services and warranty
obligations related to purchased products or services. Oracle is not responsible for any
loss or damage of any sort that you may incur from dealing with any third party.
Like Crystal Ball, OptQuest is easy to learn and easy to use. With its wizard-
based design, you can start optimizing your own models in under an hour. All
you need to know is how to use a Crystal Ball spreadsheet model. From there,
this manual guides you step by step, explaining OptQuest terms, procedures,
and results.
OptQuest has been developed with a wide range of spreadsheet uses and
users in mind. You dont need highly advanced statistical or computer
knowledge to use OptQuest to its full potential. All you need is a basic
working knowledge of your personal computer and the ability to use a Crystal
Ball spreadsheet model.
Additional resources
Oracle offers these additional resources to increase the
effectiveness with which you can use our products.
Technical support
Technical Support is available for all registered customers with a current
maintenance agreement and a valid license authorization code. There are a
number of ways to reach Technical Support described in the README file in
the Crystal Ball installation folder. Online, see:
http://support.crystalball.com
Training
The Crystal Ball Training group offers a variety of courses throughout the
year to help improve how you make decisions. For more information about
Crystal Ball courses, call one of these numbers Monday through Friday,
between 8:00 a.m. and 5:00 p.m. Mountain Time: 1-800-289-2550 (toll free in
US) or +1 303-534-1515, or visit our Web site:
http://www.crystalball.com/training
Consulting
The Crystal Ball Services group provides consulting services including the full
range of risk analysis techniques from simulation, optimization, advanced
statistical analysis and exact probability calculations, to strategic thinking,
training, expert elicitation, and results communication to management. To
learn more about these consulting services, call 1-800-289-2550 Monday
through Friday, between 8:00 A.M. and 5:00 P.M. Mountain Time or see our
Web site at:
http://www.crystalball.com/consulting
Text separated by > symbols means you select menu options in the sequence
shown, starting from the left. The following example means that you select
the Exit option from the File menu:
OptQuest Note: Notes that provide additional directions or information about using
OptQuest.
Crystal Ball Note: Notes that provide additional directions or information about using
Crystal Ball.
Excel Note: Notes that provide additional information about using the program with
Microsoft Excel.
In this chapter
What OptQuest does Portfolio Allocation model
Futura Apartments model OptQuest and process capability
How OptQuest works
This chapter has two tutorials that provide an overview of OptQuests features. The first
tutorial, the Futura Apartments model, is an extension of the model used in the Crystal
Ball documentation and finds the optimal rent for an apartment building. This model is
ready to run, so you can quickly see how OptQuest works.
The second tutorial, the Portfolio Allocation model, lets you set up and define an
optimization yourself. This model finds the optimal solution of investments that balances
the risk and the return of the portfolio.
The last section is note about using OptQuest to support Six Sigma and other quality
programs.
From the analysis of the price structures and occupancy rates of similar
apartment complexes, you have estimated that demand for rental units is a
linear function of the rent charged, and is expressed as:
In addition, you have estimated that operating costs will average about
$15,000 per month for the entire complex.
Crystal Ball Note: You can find the linear relationship of a dependent variable to one
or more independent variables using the regression tool in Microsoft Excels Analysis
Toolpak or CB Predictor.
3. Before running OptQuest, select Run > Run Preferences and set the
following run preferences:
Maximum number of trials to run set to 500
Sampling method set to Latin hypercube
Sample Size For Latin Hypercube set to 500
Random Number Generation set to Use Same Sequence Of Random
Numbers with an Initial Seed Value of 999
Running OptQuest
Use the following steps to run OptQuest for the Futura Apartments model.
Crystal Ball Note: The Run > OptQuest command is not available if a simulation is
currently running or has not been reset. If you have trouble starting a new installation
of OptQuest, see the OptQuest Note on page 55.
The Forecast Selection window appears. In the model, the Profit Or Loss
cell is a forecast cell, and the objective is to maximize the mean (average)
profit.
5. Click the down arrow button under Select.
6. Select Maximize Objective for the Profit Or Loss forecast.
7. Click OK in the Forecast Selection window.
The Options window appears, letting you set various optimization
options.
8. Set the run time to 5 minutes.
The run time is on the Time tab.
For this optimization, the best rental price is $431 and will result in an
expected profit of $2,961.
OptQuest Note: When you limit the optimization by time, as in this example,
the number of simulations varies depending on your computers processing
speed. Thus, your results might not be exactly the same as those shown in Figure
1.2; however, they should be close. For more information on other factors that
affect the results, see Factors that affect search performance on page 139.
analyzes and integrates them with outputs from previous simulation runs, and
determines a new set of values to evaluate. This is an iterative process that
successively generates new sets of values. Not all of these values improve the
objective, but over time this process provides a highly efficient trajectory to
the best solutions.
Determine a
new set of
values for
decision
variables
NO
Max
time or Stop and
YES
number of prompt to
simulations continue.
reached?
NO
Problem description
An investor has $100,000 to invest in four assets. Below is a list of the assets
expected annual returns and the minimum and maximum amounts the
investor is comfortable allocating to each investment.
The source of uncertainty in this problem is the annual return of each asset.
The more conservative assets, the Income and Money Market funds, have
relatively stable annual returns, while the Aggressive Growth fund has higher
volatility.
The decision problem, then, is to determine how much to invest in each asset
to maximize the total expected annual return while maintaining the risk at an
acceptable level and keeping within the minimum and maximum limits for
each investment.
Using OptQuest
Using OptQuest involves the following steps:
Crystal Ball Note: If you need help viewing or defining assumptions or forecasts, see
your Crystal Ball User Manual.
3. Select Run > Run Preferences and set the following run preferences:
Maximum number of trials to run set to 500
Sampling method set to Latin hypercube
Sample Size For Latin Hypercube set to 500
Random Number Generation set to Use Same Sequence Of Random
Numbers with an Initial Seed Value of 999
2. Define the decision variables for cells C14, C15, and C16
according to the values in columns D and E of the worksheet, by
following the process described in step 1.
Glossary Term: A wizard starts, leading you through steps to create a new
wizard
A feature that leads you optimization file. The wizard Welcome page outlines the steps
through the steps to create you will follow to create the optimization file. When you click OK,
an optimization model. This the Decision Variable Selection window appears as shown in
wizard presents windows for
you to complete in the Figure 1.6.
proper order.
OptQuest Note: If you make a mistake at any point and want to start over
again:
a. Click Cancel.
Specifying constraints
The Constraints window lets you specify any restrictions you can
Glossary Term: define with the decision variables. The constraint in this model limits
constraint
A limitation that the initial investment to $100,000.
restricts the possible
solutions to a model. The right side of the Constraints window lists the selected decision
You must define
constraints in terms of variables. Constraints can use only linear combinations of these
decision variables. variables. Enter constraining equations in the window, placing each
constraint on its own line.
OptQuest Note: To move a decision variable name to where the cursor is,
click a decision variable name in the Variables column. Use an asterisk to
multiply a constant and a variable (e.g., 3*X).
4. Click OK.
The Forecast Selection window appears as shown in Figure 1.8.
Time
Preferences
Advanced
Time tab
The Time tab lets you specify the total time that the system searches for the
best solutions for the decision variables. You can enter the number of minutes
to run an optimization, the number of simulations, or a date and time for the
process to stop. You can also select Automatic Stop to halt processing after the
indicated number of nonimproving solutions. The default optimization time
is 10 minutes.
3. Click Yes.
The Status And Solutions window appears. Each time OptQuest identifies
a better solution during the optimization, it adds a new line to the Status
And Solutions window, showing the new objective value and the values of
the decision variables.
The time remaining and the simulation number under evaluation appear
in the upper left corner of the window. This information disappears when
the time limit is reached.
While the optimization is running, you can select these commands from
the View menu:
Bar Graph Shows how the value of each decision variable changes
during the optimization search procedure.
Figure 1.10 shows the Status And Solutions window after the optimization;
your results should be similar, but will depend on the speed of your processor
and other factors.
The last line in the Status And Solutions window shows the best solution
found by OptQuest. All the money is allocated to the fund that has the
highest return, the Aggressive Growth fund, with the exception of the
minimal amount in the Income fund that the investor required.
The investors strategy maximized the return of the portfolio, but at a price:
high risk due to high volatility and little diversification. Is this really what the
investor wanted? To find out, the investor must interpret the results.
Note: Forecast charts created by copying OptQuest data into Excel are only
available until OptQuest is closed. To clear them, choose Analyze > Close All in
Crystal Ball. If some remain, close OptQuest.
Note that the standard deviation of the forecast is quite high, $16,342,
compared to the mean return of $10,374. The ratio of these two values, the
coefficient of variability, is shown as 1.58, or above 150%. Most of the money
allocated was in the Aggressive Growth fund, and the uncertainty of returns
for that fund was quite high, indicating the relative riskiness of the
investment.
Edit the optimization file to add this risk limitation and still maximize the
total expected return.
8. Click OK.
9. Run the optimization by choosing Run > Start.
Before analyzing these new results in Crystal Ball, save the settings file and
exit OptQuest.
Interpreting results
This solution has significantly reduced the variability of the total expected
return, even though it now has a lower mean return. The portfolio achieved
this by finding the best diversification of conservative and aggressive
investments. Thus, the investor must face the trade-off between higher
returns with higher risk, and lower returns with lower risk.
How does this solution compare with the high-risk solution? Figure 1.16
shows the Crystal Ball results for the first solution beside results for the new
solution.
Practice exercises
Correlating assumptions
Very often, stocks, and therefore mutual funds, are positively correlated with
each other to some degree. This magnifies the variance of the stock portfolios
and their risk, and you must take this into account when evaluating portfolios.
The Portfolio Revisited example in Chapter 4 shows further how these two
objectives are related and discusses other types of objectives that incorporate
different risk factors.
When you are unsure of how to set the number of trials used for Crystal
Ball simulations
If you believe that the stability of the forecast statistics varies greatly
depending on the decision variable values
Precision control periodically calculates the accuracy of the forecast mean,
standard deviation, and any indicated percentile during the simulation. When
the simulation reaches a desired accuracy, it stops, regardless of the number of
trials already run.
Note that finding the appropriate precision control settings might require
some trial and error. It can be challenging to decide whether to use absolute
or relative precision, what is the best precision value in either case, and which
statistics should receive precision control. For more information on setting the
precision control feature, see the Crystal Ball User Manual.
To see the effects of using precision control with the Portfolio Allocation
model:
1. In Crystal Ball, select Run > Run Preferences and change the
maximum number of trials from 500 to 2500.
This maximum limit is always in effect, even when precision control is
turned on. Therefore, when using precision control, you must increase
the maximum number of trials to let precision control achieve the
appropriate accuracy.
If capability metrics are available for a forecast, you can optimize those
metrics in the Forecast Selection window of the OptQuest wizard. See
Tolerance analysis beginning on page 116 for an example. When you copy
the values back to the model, the optimized values, relevant forecast charts,
and the capability metrics table appear with the workbook as shown in Figure
4.30 on page 122.
Crystal Ball Note: The process capability metrics appear with other forecast statistics
in the Forecast Selection list. For a definition of each statistic, open OptQuest help and
look for process capability metrics on the Index tab. A list also appears in the Crystal
Ball Process Capability Guide.
In this chapter
What is an optimization model?
Types of optimization models
Statistics
The first part of this chapter describes the three major elements of an optimization model:
decision variables, constraints, and the objective. It also describes other elements, such as
requirements and forecast statistics, required for models with uncertainty.
The second part describes the different types of optimization models and how OptQuest
deals with the different types. It also presents examples of the different model types.
The last part describes the different statistics available to describe the objective.
Glossary Term: An optimization model has three major elements: decision variables,
optimization model constraints, and an objective.
A model that seeks
to maximize or
minimize some
quantity, such as decision Are quantities over which you have control; for
profit or risk. variables example, the amount of product to make, the number
of dollars to allocate among different investments, or
which projects to select from among a limited set.
Constant
Constant
Objective
Decision Variable
Decision Variable
Decision Variable
Co Fil
ns ter
tra Model
in
ts
Deterministic Optimization Model
requirements Are additional restrictions on forecast statistics. You can set upper
and lower limits for any statistic of a forecast distribution. You can
also define a range of requirement values by defining a variable
requirement.
Assumptions
Assumptions
Objective
Decision Variable (Forecast)
Decision Variable
R e Fi
Decision Variable
C o Fi
qu lte
ns lter
ire r
Model
tra
m
in
en
ts
s t
Optimization Model With Uncertainty
Decision variables
Decision variables are variables in your model that you can control, such as
how much rent to charge or how much money to invest in a mutual fund.
Decision variables arent required for Crystal Ball models, but are required for
OptQuest models. You define decision variables in Crystal Ball using Define
> Define Decision.
When you define a decision variable in Crystal Ball, you define its:
bounds Defines the upper and lower limits for the variable. OptQuest
searches for solutions for the decision variable only within these
limits.
variables you select will change with each simulation until the best value for
each decision variable is found within the available time limit.
Constraints
Constraints restrict the decision variables by defining relationships among
them. For example, if the total amount of money invested in two mutual funds
must be $50,000, you can define this as:
Feasibility
A feasible solution is one that satisfies all constraints. Infeasibility occurs when
no combination of values of the decision variables can satisfy a set of
constraints. Note that a solution (i.e., a single set of values for the decision
variables) can be infeasible, by failing to satisfy the problem constraints, and
this doesnt imply that the problem or model itself is infeasible.
For example, suppose that in the Portfolio Allocation problem the investor
insists on finding an optimal investment portfolio with the following
constraints:
Or, for this same example, suppose the bounds for a decision variable were:
You can make infeasible problems feasible by fixing the inconsistencies of the
relationships modeled by the constraints. OptQuest detects optimization
models that are constraint-infeasible and reports them to you.
Objective
Each optimization model has one objective, a forecast cell, that
mathematically represents the models objective in terms of the assumption
and decision cells. OptQuests job is to find the optimal value of the objective
by selecting and improving different values for the decision variables.
When model data are uncertain and can only be described using probability
distributions, the objective itself will have some probability distribution for
any set of decision variables. You can find this probability distribution by
defining the objective as a forecast and using Crystal Ball to simulate the
model.
Forecast statistics
You cant use an entire forecast distribution as the objective, but must
characterize the distribution using a single summary measure for comparing
and choosing one distribution over another. Thus, to use OptQuest, you must
select a statistic of one forecast to be the objective. You must also select
whether to maximize or minimize the objective.
The statistic you choose depends on your goals for the objective. For
maximizing or minimizing some quantity, the mean or median are often used
as measures of central tendency, with the mean being the more common of
the two. For highly skewed distributions, however, the mean might become
the less stable (having a higher standard error) of the two, and so the median
becomes a better measure of central tendency.
For minimizing overall risk, the standard deviation or the variance of the
objective are the two best statistics to use. For maximizing or minimizing the
extreme values of the objective, a low or high percentile might be the
appropriate statistic. For controlling the shape or range of the objective, the
skewness, kurtosis, or certainty statistics might be used. For more information
on these statistics, see Statistics on page 43.
Minimizing or maximizing
Whether you want to maximize or minimize the objective depends on which
statistic you select to optimize. For example, if your forecast is profit and you
select the mean as the statistic, you would want to maximize the profit mean.
However, if you select the standard deviation as the statistic, you might want
to minimize it to limit the uncertainty of the forecast.
Requirements
Requirements restrict forecast statistics. These differ from constraints, since
constraints restrict decision variables (or relationships among decision
variables).
When you define a requirement, you first select a forecast (either the objective
forecast or another forecast). As with the objective, you then select a statistic
for that forecast, but instead of maximizing or minimizing it, you give it an
upper bound, a lower bound, or both (a range).
Feasibility
Like constraints, requirements must be satisfied for a solution to be
considered feasible. When an optimization model includes requirements, a
solution that is constraint-feasible might be infeasible with respect to one or
more requirements.
After first satisfying constraint feasibility, OptQuest assumes that the user's
next highest priority is to find a solution that is requirement-feasible.
Therefore, it concentrates on finding a requirement-feasible solution and
then on improving this solution, driven by the objective in the model.
Requirement examples
In the Portfolio Allocation example of Chapter 1, the investor wants to impose
a condition that limits the standard deviation of the total return. Because the
standard deviation is a forecast statistic and not a decision variable, this
restriction is a requirement.
Variable requirements
Variable requirements let you define a range for a requirement bound (instead
of a single point) and a number of points to check within the range. OptQuest
runs one full optimization for each point in the range, starting with the most
limiting requirement point. This lets you see the effects of tightening or
loosening a requirement.
When you define a variable requirement, you first select a forecast (either the
objective forecast or another forecast). Like the objective or the requirement,
you then select a statistic for that forecast, but instead of maximizing or
minimizing it, you select to restrict the upper bound or the lower bound. You
then define the upper or lower bound with a range.
Model Have:
1 3 5 7 9
Linear or nonlinear
An optimization model can be linear or nonlinear, depending on the form of
the mathematical relationships used to model the objective and constraints.
In a linear relationship, all terms in the formulas only contain a single
variable multiplied by a constant. For example, 3x - 1.2y is a linear
relationship since both the first and second term only involve a constant
multiplied by a variable. Terms such as x2, xy, 1/x, or 3.1x make nonlinear
relationships. Any models that contain such terms in either the objective or a
constraint are classified as nonlinear.
Deterministic or stochastic
Optimization models might also be classified as deterministic or
Glossary Term: stochastic, depending on the nature of the model data. In a
stochastic deterministic model, all input data are constant or assumed to be
A model or system
with one or more known with certainty. In a stochastic model, some of the model data
random variables. are uncertain and are described with probability distributions.
Stochastic models are much more difficult to optimize because they
require simulation to compute the objective. While OptQuest is
designed to solve stochastic models using Crystal Ball, it is also
capable of solving deterministic models. See Selecting options on
page 64.
Deterministic Stochastic
Excel worksheet result Crystal Ball simulation result
Figure 2.6 Comparison of deterministic and stochastic results
Net profit
= Revenue - Expenses
= (Number of units rented)(Rent/unit) - Monthly expenses
= (-0.1*Rent/unit + 85)*(Rent/unit) - Monthly expenses
There are no constraints in this example.
OptQuest is designed to handle any and all types of optimization models with
only one limitation: constraints must be linear, unless you model the
nonlinear constraints as requirements. See Specifying constraints on
page 58.
Statistics
This section explains the forecast statistics you can choose in OptQuest to
define the optimizations objective. These terms are listed in the Statistics
window when you run a simulation in Crystal Ball and in the reports that you
can create.
Statistic See:
Mean page 43
Median page 44
Mode page 44
Variance page 45
Percentile page 46
Skewness page 47
Kurtosis page 47
Certainty page 49
The formulas for many of the statistics are listed in the Crystal Ball User
Manual.
Mean
The mean of a set of values is found by adding the values and dividing their
sum by the number of values. The term average usually refers to the mean.
For example, 5.2 is the mean or average of 1, 3, 6, 7, and 9.
Median
The median is the middle value in a set of values. For example, 6 is the
median of 1, 3, 6, 7, and 9, while the mean is 5.2.
If there is an odd number of values, the median is found by placing the values
in order from smallest to largest and then selecting the middle value.
If there is an even number of values, the median is the mean of the two
middle values.
Mode
The mode is the value that occurs most frequently in a set of values. In
general, the greatest degree of clustering occurs at the mode.
The modal wage, for example, is the one received by the greatest number of
workers. The modal color for a new product is the one preferred by the
greatest number of consumers.
Mode Mean
Median Median
Mean Mode
Crystal Ball Note: When using continuous distributions, it is likely that your forecast
will not have two values that are exactly the same. When this occurs, Crystal Ball sets
the mode to --- to indicate that the mode is undefined.
Standard deviation
The standard deviation is the square root of the variance for a distribution of
values. Like the variance, it is a measure of dispersion about the mean.
For example, you can calculate the standard deviation of the values 1, 3, 6, 7,
and 9 by finding the square root of the variance that is calculated in the
variance example below.
s = 10.2 = 3.19
Variance
Variance is a measure of the dispersion, or spread, of a set of values about the
mean. When values are close to the mean, the variance is small. When values
are widely scattered about the mean, the variance is larger.
2 2 2 2 2
2 ( 1 5.2 ) + ( 3 5.2 ) + ( 6 5.2 ) + ( 7 5.2 ) + ( 9 5.2 )
s = -------------------------------------------------------------------------------------------------------------------------------------------------
51
40.8
= ---------- = 10.2
4
OptQuest Note: The calculation uses n-1 instead of n to correct for the fact that sample
variances are slightly smaller than the variance of the entire population.
Percentile
A percentile is a number on a scale of zero to one hundred that indicates the
percent of a distribution that is equal to or below a value (default definition).
Standardized tests usually report results in percentiles. So if you were at the 95
percentile, that means you scored better than 95% of the people who took the
test. This doesnt mean you answered 95% of the questions correctly. You
might have answered only 20% correctly, but that was better than 95% of the
people who took the test.
As another example, suppose you want to be 90% sure that you put enough
money away for your retirement. You might create a model with all the
uncertain variables, such as annual return on your investments, inflation, and
expenses at retirement. The resulting distribution shows the most likely
investment needed, but if you select the mean, you have a 50% chance of not
having enough money. So you choose the value at the 90 percentile, which
leaves only a 10% chance of not having enough money.
Crystal Ball Note: You can reverse the meaning of the percentiles by changing the
setting in the Run Preferences > Statistics dialog. For more information, see the Crystal
Ball User Manual.
Skewness
A distribution of values (a frequency distribution) is said to be skewed if it is
not symmetrical.
For example, suppose the curves in the example below represent the
distribution of wages within a large company.
A B
Curve A illustrates positive skewness (skewed to the right) where most of the
wages are near the minimum rate, although some are much higher. Curve B
illustrates negative skewness (skewed to the left) where most of the wages are
near the maximum, although some are much lower.
If you describe the curves statistically, curve A is positively skewed and might
have a skewness coefficient of 0.5, while curve B is negatively skewed and
might have a -0.5 skewness coefficient.
Kurtosis
Kurtosis refers to the peakedness of a distribution. For example, a perfectly
symmetrical distribution of values can look either very peaked or very flat,
as illustrated in Figure 2.10.
A B
Suppose the curves in the example above represent the distribution of wages
within a large company. Curve A is fairly peaked, since most of the employees
receive about the same wage with few receiving very high or low wages. Curve
B is flat topped, indicating that the wages cover a wider spread.
Coefficient of variability
The coefficient of variability measures the variability of a forecast compared to
the mean value. Since this statistic is independent of the forecast units, you
can use it to compare the variability of two or more forecasts, even when the
forecast scales differ.
For example, if you are comparing the forecast for a penny stock with the
forecast for a stock on the New York Stock Exchange, you would expect the
average variation (standard deviation) of the penny stock price to appear
smaller than the variation of the NYSE stock. However, if you compare the
coefficient of variability statistic for the two forecasts, you will likely observe
that the penny stock shows significantly more variation on a relative scale.
s
coefficient of variability = -x-
To present this in percentage form, simply multiply the result of the above
calculation by 100.
The range is the difference between the range minimum and the range
maximum. For example, if the range minimum is 10 and the range maximum
is 70, then the range is 60.
Statistical Note: The mean standard error statistic only provides information on the
accuracy of the mean and can be used as a general guide to the accuracy of the
simulation. The standard error for other statistics, such as mode and median, will
probably differ from the mean standard error.
Certainty
Certainty describes the percentage of simulation results that fall within a
range. For instance, in the portfolio allocation example from Chapter 1, if
your objective was to achieve the highest probability of a minimum return of
$8,000, you might choose a range of $8,000 to +Infinity and then maximize
the certainty of this range.
When you select the certainty of a forecast as a requirement, you must first
define the range that you want the forecast values to fall in, such as between
$8,000 and positive infinity. Then you must define in the Lower Bounds
column the minimum percentage of results that must fall in the defined range
for the solution to be feasible, such as 60%.
In Figure 2.11, the certainty range is $0 to $26.1 million and the certainty
level is 75%.
Certainty
Final value
The final value is the last value that is calculated for a forecast during a
simulation. The final value is useful when a forecast contains a function that
accumulates values across the trials of a simulation, or is a function that
calculates the statistic of another forecast. See Oil field development on
page 101 and Tolerance analysis on page 116 for examples using final
value.
In this chapter
Overview
Developing the Crystal Ball model
Selecting decision variables to optimize
Specifying constraints
Selecting the forecast objective
Selecting options
Running the optimization
Interpreting the results
This chapter describes how to use OptQuest, step by step. It also gives details about each of
the windows and dialogs in OptQuest, including all the fields and options.
Overview
To set up and optimize a model with OptQuest, follow these steps:
A descriptive title.
An input data area separate from the output and any working space. Place
all input variables in their own cells where you can later define them as
assumptions or decision variables.
A working space for all complex calculations, formulas, and data tables.
A separate output section that provides the model results.
Note that all input variables (assumptions and decision variables) are in rows
5 through 8 and rows 13 through 16, and forecast cells reference the cells in
their calculations, not values directly. Therefore, you could easily change any
values, and the forecast calculations would be automatically updated.
Reference input data only with cell references or range names so that any
changes are automatically reflected throughout the worksheet.
Use formats, such as currency or comma formats, appropriately.
Divide complex calculations into several cells to minimize the chance for
error and enhance understanding.
Place comments next to formula cells for explanation, if needed.
Consult a reference such as those listed on page 156 for further discussion
of good worksheet design.
Crystal Ball Note: When your Crystal Ball forecast has extreme outliers, run the
optimization with several different seed values or a random seed.
OptQuest Note: If you are unable to start a new installation of OptQuest, try logging
in with administrator rights.
Element Action
Variable Name Displays the variable name defined in Crystal Ball. This field is
for display only.
Lower Bound Is the lower limit for the variable. If you change this field,
OptQuest automatically updates the lower limit in Crystal Ball
with the new value.
The default is the variables lower bound defined in Crystal Ball.
Element Action
Upper Bound Is the upper limit for the variable. If you change this field,
OptQuest automatically updates the upper limit in Crystal Ball
with the new value.
The default is the variables upper bound defined in Crystal
Ball.
Workbook Displays the Excel workbook file that contains the decision
variable. This field is for display only.
Worksheet Displays the Excel worksheet that contains the decision variable.
This field is for display only.
Cell Displays the Excel cell that contains the decision variable. This
field is for display only.
Reorder Moves all the selected decision variables to the top of the list
and all the unselected decision variables to the bottom of the
list.
Specifying constraints
In OptQuest, constraints limit the possible solutions to a model in terms of
relationships among the decision variables.
For example, in the Portfolio Allocation model from Chapter 1, the total
investment was limited to $100,000. In this window, this is limited by the
equation:
Constraints window
The Constraints window lets you specify limits in terms of decision variables.
To access this window, either:
The left side of the Constraints window is the Constraints editor. The right
side of the Constraints window contains buttons that insert decision variables
or create an equation that sums all the decision variables. To add a variable to
a constraint, place your cursor where you want the variable and then either
type the variable name or click the variable in the Variables list. You can
define any number of constraints.
Constraints:
Equalities and Use =, <=, or >= between left and right 2*var1 <= 5
inequalities sides of the constraint.
1. In the forecast row for your objective, click in the Forecast Statistic
column.
2. From the drop-down menu, select a statistic to optimize.
3. From the Select column, select either:
Column Action
Name Displays the forecast name defined in Crystal Ball. This field is
for display only.
Column Action
Lower Bound Is a lower limit for a requirement statistic. This field is used only
for requirements and variable requirements. For a requirement,
you must define an upper bound, a lower bound, or both. For a
variable requirement, you must set both the lower and upper
bound.
Upper Bound Is the upper limit for a requirement statistic. This field is used
only for requirements. For a requirement, you must define an
upper bound, a lower bound, or both. For a variable
requirement, you must set both the lower and upper bound.
Units Displays the forecast units defined in Crystal Ball. This field is for
display only.
Workbook Displays the Excel workbook file used for the forecast. This field
is for display only.
Worksheet Displays the Excel worksheet used for the forecast. This field is
for display only.
Cell Displays the Excel cell used for the forecast. This field is for
display only.
Selecting options
To select optimization options:
Options window
The Options window lets you set options for controlling the optimization
process. To access this window, either:
Time
Preferences
Advanced
Time tab
The Time tab lets you control how long to run the optimization. If you select a
very long time limit or a large number of simulations, you can always
terminate the search by selecting Run > Stop, pressing <Esc>, or clicking on
the Stop icon. Additionally, OptQuest prompts you to extend the search when
the time limit ends.
Setting Action
Run For __ When you select this option, select a number from the menu or
Simulations enter the number of simulations you want to run.
The default is 100 simulations (but the setting is off by default).
Run For __ When you select this option, select a number from the menu or
Minutes enter the number of minutes you want the optimization to run.
This is the default Time option. The default number of minutes
is 10.
Run Until date/ When you select this option, enter the hour, minute, second, AM
time or PM, month, date, and year for the optimization to stop. To
increment the time, place the cursor in the hour, minute,
second, or AM/PM field and use the up or down arrow buttons.
You can select the month, date, and year from drop-down
menus.
The default is the time and date when you select this option,
which is off by default.
Automatic This stops the optimization if the process has not found a better
Stop solution for a significant number of simulations. You must still
define a time or simulation count to stop the optimization, but
this option overrides those settings if necessary. In most cases it
is better for you to stop OptQuest manually, but if you are
unsure, you can use the Automatic Stop option.
When selected, the default is to stop after the number of
simulations with no significant improvement is equal to 50 plus
the number of decision variables squared.
Preferences tab
The Preferences tab of the Options window has these settings:
Setting Action
Font Changes the font and point size OptQuest uses in many
OptQuest windows.
The default is MS Sans Serif, 10 point.
Save Crystal Sets whether to save the simulation results for all the best
Ball Results simulations in the Status And Solutions window, only the best
one, or none. The simulations are saved for recall until you exit
OptQuest. Saving Crystal Ball simulations might require a lot of
hard drive space and slow down the optimization.
The default is Only Best Solution.
Description Of Is a brief, descriptive title for the optimization model. This title
Optimization appears in the Status And Solutions window.
Model The default is Crystal Ball Simulation: <name of Excel
workbook>.
Optimization Is the path to the log file. You can change the log file name or
Log File location by clicking on Change Log and selecting a new file and
folder from the Open dialog.
The default is the users temp folder: C:\Documents and
Settings\<username>\Local Settings\Temp\OptQuest.log.
Advanced tab
The Advanced tab of the Options window has the following settings.
Optimization Lets you select the type of optimization to run, either Stochastic
Type (using assumptions) or Deterministic (freezing assumptions). If
you select Deterministic for a model with assumptions,
OptQuest uses only the current values in the assumption cells.
The Confidence Testing option stops some simulations in
progress if the confidence interval around the forecast objective
indicates that the current solution is inferior to the current best
solution. This only works if the statistic used for the forecast
objective is the mean, standard deviation, or a percentile.
Tolerance Sets how close a set of decision variables can be to any previous
set to consider them equivalent. If a set of decision variables is
equivalent to a previously run set, OptQuest discards the set
before it runs a simulation for it.
Also, when running an optimization with a variable
requirement, OptQuest uses the tolerance value to determine
when the optimization for each variable requirement value is
complete.
You cannot work in Crystal Ball or Excel or make changes in OptQuest when
running an optimization, but you can work in other programs. Do not close
Excel, Crystal Ball, or OptQuest while running an optimization.
1. Either:
When prompted to start the optimization, click Yes.
The Status And Solutions window appears. For more information on
this window, see Status And Solutions window on page 69.
Select Run > Start. See Start/Pause/Stop commands below.
2. Pause, stop, or rerun the optimization.
For more information on how pausing, stopping, and rerunning
optimizations works, see Start/Pause/Stop commands below.
3. View the status during the optimization.
While the optimization is running or paused, you can select to view these
windows from the View menu:
Bar Graph Shows how the value of each decision variable changes
during the optimization search procedure. For more
information on this window, see page 73.
Start/Pause/Stop commands
These commands for starting, pausing, and stopping an optimization are
under the Run menu:
Status
Optimization File
Solutions
Status
The optimization status is in the top left corner above the best solution results
and on a bar across the top of the solution columns. This area of the window
appears only while the optimization is running or paused. The optimization
status lists:
Optimization File
The Optimization File information is in the top right corner of the window,
above the best solution results. This area lists:
Description of the Is a title for the model. To change this descriptive title,
optimization see Preferences tab on page 66.
model The default is Crystal Ball Simulation: followed by the
filename of the Excel workbook.
Solutions
OptQuest displays the results of the best simulations in the solutions area of
this window. The first best simulation is always either:
The suggested values used in your worksheet, if those values satisfy the
constraints imposed
The first constraint-feasible solution OptQuest generates
Each time OptQuest identifies a better solution (closer to requirement
feasibility or with a better objective) during the optimization, it adds a new
line to the Status And Solutions window, showing the new objective value and
the values of the decision variables.
Column Action
Simulation Lists the number of the best, previous best, and current
simulations. The best up to that point has Best: before the
simulation number. The current one has Current: before the
simulation number.
Objective Lists the value of the objective forecast statistic for each
simulation. The column heading displays whether the objective
is Maximize Objective or Minimize Objective, the name of the
forecast, and the optimized statistic.
Requirements Lists the value of the requirement forecast statistic for each
simulation. The column heading displays that the column is a
requirement, the name of the forecast, the requirement statistic,
and bound values.
Variable Lists the value of the variable requirement forecast statistic for
requirements each simulation and the current requirement value (which
changes during the optimization).
Decision Lists the value for each decision variable for that simulation in its
Variables own column. The column heading displays the variable name.
Performance graph
This window displays the trajectory of the search; that is, the rate at which the
best objective value has changed during the course of the search. This is
shown as a plot of the best objective values as a function of the number of
simulations (trial solutions). To access this window, either:
As OptQuest runs, this window graphically displays the values listed in the
Status And Solutions window.
If any requirements have been specified, the line might initially be red,
indicating that the corresponding solutions are requirement-infeasible. A
green line indicates requirement-feasible solutions.
The Frontier button opens the Efficient Frontier window. This button is only
available when your optimization has a variable requirement. For more
information, see Efficient Frontier window on page 75.
Bar graph
This window displays the different values for the decision variables for either
the current simulation or, after the optimization is complete, the best
simulation found. If your optimization model has more than 10 variables,
only the first 10 are displayed. To access this window, either:
Watching this window can give you a sense for the preferred values for each
variable, as well as the amount of variation from one solution to the next.
Element Action
Objective Displays the resulting objective for the displayed variable values.
Scale options Sets whether the different bar graphs all use the same scale (the
maximum range that includes all individual ranges) or different
scales (independent).
Optimization log
The Optimization Log window displays the optimization details, such as
whether Confidence Testing was on and how many simulations ran, as well as
the actual values of each decision variable, objective, and requirement for
each simulation (not only the best ones identified in the Status And Solutions
window). To access this window, either:
This window is only available if you have started an optimization that includes
a variable requirement. To access the Efficient Frontier window, either:
OptQuest runs the initial requirement point (the most restrictive end of the
range) until there is no significant improvement between best values or until it
reaches a maximum number of simulations (based on the number of decision
variables in the model). OptQuest then runs the successive requirement
points for approximately half the time of the initial requirement point.
Glossary Term: The analysis answers the first question by identifying determined
determined variables variables. If the best solutions decision variables are determined
Variables that take on
the same or almost variables, the solution is robust.
always the same value
for most high-quality
solutions. The analysis answers the second question by identifying irrelevant
variables. These variables vary widely within their defined bounds
with little or no effect on the results. You can undefine these decision
variables and leave them as constants. This reduces the number of
decision variables and improves the performance of the optimization.
When you eliminate one or more variables from the model, you
should rerun the optimization. The search will then intensify around
the remaining variables.
In the Percentage From Best field, enter the percent difference from the best
objective that you would consider acceptable for other simulations. This
defines the analysis range. For example, if you want to examine all the
solutions that have an objective within 10% of the best objective, enter 10 in
this field.
The Analyze button recalculates each of the tables according to the value in
the Percentage From Best field.
The Number Of Observations area displays how many solutions were found
with objectives within the percentage specified. OptQuest only includes
feasible solutions in the analysis.
Column Displays
Best Values of the objective and the decision variables from the best
solution.
Minimum The minimum values for the objective and the decision
variables, from the set of solutions that fell within the analysis
range.
Average The average values of the objective and the decision variables,
from the set of solutions that fell within the analysis range.
Maximum The maximum values for the objective and the decision
variables, from the set of simulations that fell within the analysis
range.
The Solutions table lists all the objective and variable values for the solutions
whose objective falls within the analysis range. The columns in the Solutions
table are listed in Table 3.10.
Column Displays
Variables The value of each decision variable, listed in its own column.
OptQuest Note: You can select and copy cells to the clipboard from either the analysis
table or the solutions table.
OptQuest Note: By default, OptQuest restores only the simulation for the best solution.
To save other solutions, select the appropriate option under Tools > Options >
Preferences.
In this chapter
The following examples appear: Oil field development
This chapter has many different examples that illustrate different uses for OptQuest from
many different fields. The models use different methods of solving their problems,
illustrating the different types of constraints, requirements, and forecast statistics you can
use to solve problems.
Overview
This chapter presents a variety of examples using OptQuest. These examples
illustrate how to use spreadsheets to model optimization problems, the key
features of OptQuest, and the variety of applications for which you can use
OptQuest.
The table below summarizes the examples in this chapter and the features
illustrated.
Type
Requirements
Constraints
Decisions
Variables
Type
Application Illustrated Methods
Product mix
Problem statement
Ray's Red Hots, Inc. manufactures five types of sausages. The number of
pounds of four ingredientsveal, pork, beef, and casingused per unit of
product and the profit generated per unit are given in the table below.
The unit profits are only estimates because all customer contracts have
not been finalized.
The amount of casing used per unit might be more than anticipated
because of production losses due to tearing or partial rejections during
inspection.
The problem is to determine how many pounds of each product to produce in
order to maximize gross profit without running out of meat ingredients or
casing during the manufacturing run.
Spreadsheet model
The Product Mix.xls file, shown in Figure 4.1, is a spreadsheet model for this
problem. The input data and model outputs are straightforward.
Browse through the Crystal Ball assumptions that define the uncertainty of
the casing requirements and unit profits.
OptQuest solution
OptQuest Note: Except where indicated, this example uses the recommended Crystal
Ball run preferences. See Setting Crystal Ball run preferences on page 54.
1. With Product Mix.xls open in Crystal Ball, set the number of trials in
Crystal Ball to 1000, since tail-end percentile requirements need more
accuracy.
2. Start OptQuest from the Crystal Ball Run menu.
3. Open the Product Mix.opt file in OptQuest.
4. Start the OptQuest wizard.
As you click OK to step through the problem, note:
This problem has five decision variables (one for each product), three
constraints (one each for availability of veal, pork, and beef), and one
requirement.
The requirement ensures that at most a 5% chance exists of exceeding
the casing limitation.
5. Run the optimization.
Figure 4.2 shows the OptQuest solution. The optimal mean profit is $11,779,
obtained by producing 0 pounds of summer sausage, 2663 pounds of
bratwurst, 1793 pounds of Italian sausage, 1198 pounds of pepperoni, and
1263 pounds of Polish sausage. Figure 4.3 shows the Casing Remaining
forecast chart for these decision variables, verifying that the chance of
running out of casing is indeed at most 5%.
Practice exercise
Suppose that the amount of veal available is uncertain, due to an unreliable
supplier. Assuming that the on-hand veal inventory is defined by a uniform
distribution between 11,000 and 12,520 pounds, formulate an appropriate
requirement in place of the inventory limitation, edit the OptQuest file, and
rerun the model. How does the solution change?
Daily Avg.
Room Type Rate Revenue
No. Sold
Each market segment has its own price/demand elasticity. Estimates are:
Variable Definition
H Historical average number of rooms sold
E Elasticity
N New price
C Current price
The hotel owners want to keep the price of a standard room between $70 and
$90, a gold room between $90 and $110, and a platinum room between $120
and $149. All prices are in whole dollar increments (discrete). Although the
rooms may be renovated and reconfigured, there are no plans to expand
beyond the current 450-room capacity.
Spreadsheet model
Open the Hotel Design example shown in Figure 4.4. The decision variables
correspond to cells G7 through G9. If all the data are regarded as fixed, a
deterministic optimization model might be (in terms of the cells in the
worksheet):
OptQuest solution
OptQuest Note: Except where indicated, this example uses the recommended Crystal
Ball run preferences. See Setting Crystal Ball run preferences on page 54.
With Hotel Design.xls open in Crystal Ball, start OptQuest from the Crystal
Ball Run menu. In OptQuest:
The results are shown in Figure 4.7. The Crystal Ball simulation of this
solution in Figure 4.8 verifies that the chance of demand exceeding capacity is
just slightly less than 20%.
Required to
be <= 450
Unfortunately, the available budget is only $2.0 million, and selecting all
projects would require a total initial investment of $2.8 million. Thus, the
problem is to determine which projects to select to maximize the total
expected profit while staying within the budget limitation. Complicating this
decision is the fact that both the expected revenue and success rates are highly
uncertain.
Spreadsheet model
Figure 4.9 shows a spreadsheet model for this problem, which you can view by
opening the Project Selection.xls file. The decision variables in column H are
binary; that is, they can assume only the values zero and one, representing the
decisions of either not selecting or selecting each project. The total
investment in cell F15 is the required investment in column F multiplied by
the respective decision variable in column H.
The expected revenue and success rates are assumption cells in the Crystal
Ball model. The expected revenues have various distributions, while the
success rates are modeled using a binomial distribution with one trial. During
the simulation, the outcomes in column D will be either 0% or 100% (not
successful or successful) with the probabilities initially specified. Thus, for
each simulated trial, the expected returns will either equal the expected
revenue generated in column C or zero. Consequently, the expected profits
can be positive or negative.
OptQuest solution
With Project Selection.xls open in Crystal Ball, start OptQuest from the
Crystal Ball Run menu. Then:
Figure 4.10 shows the results of an OptQuest optimization. The best solution
identified selects all the projects except for 3 and 5. As Figure 4.11 shows, the
distribution of profits is highly irregular, and depends on the joint success
rate of the chosen projects. There is a risk of realizing a loss. You might wish
to evaluate the risks associated with some of the other solutions identified
during the search.
Practice exercise
Because a risk of realizing a loss exists, an alternative objective might find a
solution that gives the highest probability of achieving a positive profit. This
can be done by optimizing the certainty statistic; that is, finding the best
solution that generates the most values between two specified endpoints, in
this case, the largest number of observations between zero and +Infinity.
Modify the OptQuest file to solve the problem with this objective.
Groundwater cleanup
Problem statement
A small community gets its water from wells that tap into an old, large aquifer.
Recently, an environmental impact study found toxic contamination in the
groundwater due to improperly disposed chemicals from a nearby
manufacturing plant. Since this is the communitys only source of potable
water and the health risk due to exposure to these chemicals is potentially
large, the study recommends that the community reduce the overall risk to
below a 1 in 10,000 cancer risk with 95% certainty (95th percentile less than
1E-4).
Your remediation company wants to bid on the project. The costs for the
different cleanup methods vary according to the resources and time required
for each (cleanup efficiency). With historical and site-specific data available,
you want to find the best process and efficiency level that minimizes cost and
still meets the studys recommended standards with a 95% certainty.
Spreadsheet model
Open the file Groundwater Cleanup.xls. This model shows the population risk (cell
C25), which is the overall contamination risk to the people in the community as a
function of the factors shown in the following table.
Table 4.5 Groundwater Cleanup population risk factors
Remediation
Cells Description Distribution
cost factors
Fixed Costs C8:C10 Flat costs for each method to pay Triangular
for initial setup.
OptQuest solution
OptQuest Note: Except where indicated, this example uses the recommended Crystal
Ball run preferences. See Setting Crystal Ball run preferences on page 54.
The results are shown in Figure 4.13. The solution in Figure 4.13 minimizes
costs at $10,889 while keeping the risk level at 1E-4, rounded.
The distributions for the total remediation cost and the population risk are
shown in Figure 4.14 and Figure 4.15.
Practice exercise
The photo-oxidation method was the cheapest process for the required
efficiency level, but because of the high cost, the community decides to relax
the risk requirement to 3 out of 10,000 (3E-4). Based on this new
requirement, what method is now the cheapest and how much would the
community save?
Phase Description
Build up The period when you drill wells to gain enough production to fill
the facilities.
Plateau After reaching the desired production rate (plateau), the period
when you continue production at that rate as long as the reservoir
pressure is constant and until you produce a certain fraction of the
reserves. In the early stages of development, you can only estimate
this fraction, and production above a certain rate influences
plateau duration.
With only estimates for the total Stock Tank Oil Initially In Place (STOIIP =
reserve size) and percent recovery amounts, the objective is to select a
production rate, a facility size, and well numbers to maximize some financial
measure. In this example the measure used is the P10 of the NPV
distribution. In other words the oil company wants to optimize an NPV value
which they are 90% confident of achieving or exceeding.
Spreadsheet model
Open the Oil Field Development.xls workbook found in the Crystal Ball
Example folder. Net present value (cell C30) of this oil field is based on:
The Production Profile table at the bottom of the model shows that the
production phase determines annual production rates. Cumulative oil
production is calculated per year and is then discounted at 10% (lognormal
distribution in cell B10), resulting in a total discounted reserves value. The
model gives an oil (or profit) margin of $2.00 per barrel (bbl) and converts
total discounted reserves to present value dollars. Total well and facilities costs
are then subtracted for total project NPV.
OptQuest solution
OptQuest Note: Except where indicated, this example uses the recommended Crystal
Ball run preferences. See Setting Crystal Ball run preferences on page 54.
The Crystal Ball simulation of this solution in Figure 4.18 maximizes the 10th
percentile of the NPV.
195.72 $mm
Portfolio revisited
Problem statement
The investor from Chapter 1 has $100,000 to invest in four assets. Below is a
relisting of the investors expected annual returns, and the minimum and
maximum amounts the investor is comfortable allocating to each investment.
When the investor maximized the portfolio return without regard to risk,
OptQuest allocated almost all the money to the investment with the highest
return. This strategy didnt result in a portfolio that maintained risk at a
manageable level. Only limiting the standard deviation of the total expected
return generated a more diversified portfolio.
Efficient portfolios
If you were to examine all the possible combinations of investment strategies
for the given assets, you would notice that each portfolio had a specific mean
return and standard deviation of return associated with it. Plotting the means
on one axis and the standard deviations on another axis, you can create a
graph like this:
mean return
reward
risk
Similarly, for any given standard deviation of return, there is one portfolio
that has the highest mean return obtainable. This portfolio lies on the curve
at the point that intersects the standard deviation of return.
Portfolios that lie directly on the curve are called efficient (see Markowitz,
1991 listed on page 157), since it is impossible to obtain higher mean returns
without generating higher standard deviations, or lower standard deviations
without generating lower mean returns. The curve of efficient portfolios is
often called the efficient frontier.
Portfolios that lie below the curve are called inefficient, meaning better
portfolios exist with either higher returns, lower standard deviations, or both.
The example in Chapter 1 uses one technique to search for optimal solutions
on the efficient frontier. This method uses the mean and standard deviation
of returns as the criteria for balancing risk and reward.
You can also use other criteria for selecting portfolios. Instead of using the
mean return, you could select the median or mode as the measure of central
tendency. These selection criteria would be called median-standard deviation
efficient or mode-standard deviation efficient. Instead of using the standard
deviation of return, you could select the variance, range minimum, or low-end
percentile as the measure of risk or uncertainty. These selection criteria would
be mean-variance efficient, mean-range minimum efficient, or mean-percentile
efficient.
Statistical Note: The mode is usually only available for discrete-valued forecast
distributions where distinct values might occur more than once during the simulation.
Spreadsheet model
Open the Portfolio Revisited EF.xls workbook found in the Crystal Ball
Examples folder. The total expected return forecast, assumptions, and
decision variables are the same as in the original model, with the decision
variables already defined.
OptQuest solution
OptQuest Note: Except where indicated, this example uses the recommended Crystal
Ball run preferences. See Setting Crystal Ball run preferences on page 54.
1. With Portfolio Revisited EF.xls open in Crystal Ball, set the number of
trials per simulation to 500.
2. Start OptQuest from the Crystal Ball Run menu.
3. In OptQuest, open the Portfolio Revisited EF.opt file.
4. Start the OptQuest wizard.
As you click OK to step through the problem, note that the decision
variables, constraints, and objective are the same.
The requirement is a Variable Requirement Upper Bound for the
standard deviation statistic.
The number of samples in the range is 10.
The variable requirement bounds are 8000 for the lower bound and
10000 for the upper bound.
5. In the Options > Advanced dialog, verify the Tolerance is 0.00001.
6. Run the optimization for 60 minutes.
The results are shown in Figure 4.19.
When should you use the Efficient Frontier function? This method is useful
when it is difficult to determine reasonable lower or upper bounds for
requirement statistics.
where k > 0 is a risk aversion constant, and the objective is to maximize the
function. The relationship between return and risk for the investor is
captured entirely by this one function; no additional requirements are
necessary.
For k = 0.5, the optimal solution occurs at the point where the return minus
one-half the standard deviation has the highest value.
Spreadsheet model
Open the Portfolio Revisited.xls workbook found in the Crystal Ball Examples
folder. The total expected return forecast, assumptions, and decision variables
are the same as in the original model. Scroll down to see the new items added
as shown in Figure 4.20.
OptQuest solution
OptQuest Note: Except where indicated, this example uses the recommended Crystal
Ball run preferences. See Setting Crystal Ball run preferences on page 54.
When should you use multiobjective optimization, and when should you use
single objectives with requirements? The former method is especially useful
when it is difficult to determine reasonable lower or upper bounds for
requirement statistics. This method is also recommended for situations where
OptQuest has trouble finding feasible solutions that satisfy many
requirements. The latter method is generally easier to implement and
understand.
Practice exercise
RAROC, which stands for Risk-Adjusted Return on Capital, is a multiobjective
function gaining popularity in use as a measure of portfolio performance.
The RAROC equation is generally stated as:
mean return -
-----------------------------------------
mean return P5
Glossary Term: A weighted sum of these influences determines the risk factor of an
risk factor asset. APT provides estimates of the risk factors for particular assets
A number representing
the riskiness of an to these types of influences. Higher risk factors indicate greater risk;
investment relative to lower factors indicate less risk. Assume that the risk factors per dollar
a standard such as
U.S. Treasury bonds. allocated to each asset are as shown in Table 4.9.
Using this method, the investor can specify a target level for the
weighted (or aggregate) risk factors, leading to a constraint that limits
the overall risk. For example, suppose that the investor can tolerate a
weighted risk per dollar invested of at most 1.0. Anything above 1.0 is
too risky for the investor. Thus, the weighted risk for a $100,000 total
investment must be at or below 100,000. If the investor distributed
$100,000 equally among the four available assets, the return would
be:
If this amount were greater than the limit of 100,000, this solution
would not be feasible and could not be chosen.
Spreadsheet model
Open the Portfolio Revisited.xls worksheet found in the Crystal Ball Examples
folder. The total expected return forecast, assumptions, decision variables,
and the original constraint limiting the total investment to $100,000 are the
same as in the original model. The new item is a constraint limiting the total
weighted risk (cell F13), calculated by:
OptQuest solution
OptQuest Note: Except where indicated, this example uses the recommended Crystal
Ball run preferences. See Setting Crystal Ball run preferences on page 54.
With Portfolio Revisited.xls open in Crystal Ball, start OptQuest from the
Crystal Ball Run menu. In OptQuest:
The results are shown in Figure 4.23. The Crystal Ball simulation of this
solution in Figure 4.24 maximizes the total expected return at $8,438 with the
new constraint. Compare this to the original total expected return of $7,481
from Chapter 1 using the different method of limiting risk with the standard
deviation.
Tolerance analysis
Problem statement
An engineer at an automobile design center needs to specify components for
piston and cylinder assemblies that work well together. To do this, he needs
the dimensions of the components to be within certain tolerance limits, while
still choosing the most cost-efficient methods. This is called an optimal stack
tolerance analysis.
The piston assembly consists of five components, and the cylinder assembly
consists of two, each with certain nominal dimensions. These components are
then stacked to create the assembly. The difference in length between the two,
called the assembly gap, must be between 0.003 and 0.02 inches. This might
seem like a simple problem, but since milling processes are not exact and
quality control has a direct effect on prices, components have an error
associated with each, called tolerance. When stacked, these errors compile or
add together to create a cumulative tolerance.
tolerance and a 5 sigma component the smallest. This is called the quality
specification.
1 sigma 5 sigma
component
probability
component
probability
statistical dimension statistical dimension
One simplified solution takes the total tolerance allowed and divides it by the
number of components. But, due to individual component complexity and
process differences in manufacturing, each component of the assembly has a
different cost function associated with the quality specification. This then
becomes a juggling act to balance cumulative tolerance and associated cost.
The current version of Crystal Ball supports quality programs such as Six
Sigma by calculating a set of process capability metrics for forecasts when the
process capability features are activated and at least one specification limit
(LSL or USL) is entered for the forecasts. OptQuest then includes these
metrics in the list of statistics that can be optimized. For more information,
see OptQuest and process capability on page 30.
This example assumes that the process capability metrics have been activated
in Crystal Ball. Then, the capability metrics are available in the Forecast
Statistic list of the Forecast Selection window and the LSL, USL, and Target
(whichever are available) appear in informational columns to the right of the
Units column.
Spreadsheet model
OptQuest solution
OptQuest Note: Except where indicated above, this example uses the recommended
Crystal Ball run preferences. See Setting Crystal Ball run preferences on page 54.
Once the OptQuest run is complete, you can copy the best results back into
your spreadsheet using the Edit > Copy To Excel command. Your
spreadsheet now displays the optimal solution and Crystal Ball displays the
forecast chart for these results.
Figure 4.28 OptQuest set to maximize Assembly Gap Zst (sigma level)
The overall Assembly Gap sigma level is close to 5, the maximum level
allowed for each component.
When these results are copied into the Tolerance Analysis model, the
Assembly Gap forecast with capability metrics looks like the following figure.
The Zst-total value matches Zst as shown in the OptQuest results (Figure
4.29). And, because of the OptQuest assembly gap requirements, all the
values fall between the lower specification limit (LSL) and upper specification
limit (USL), while the mean is the same as the target value.
Problem statement
Glossary Term: The two basic inventory decisions that managers face are:
inventory
Any resource set aside for
future use, such as raw How much additional inventory to order or produce
materials, semifinished
products, and finished When to order or produce it
products. Inventory also
includes human, financial,
and other resources. Although it is possible to consider these two decisions separately, they
are so closely related that a simultaneous solution is usually necessary.
Glossary Term:
Typically, the objective is to minimize total inventory costs. Total
inventory position inventory costs typically include holding, ordering, shortage, and
The amount of inventory purchasing costs.
on hand plus any amount
on order but not
received, less any back In a continuous review system, managers continuously monitor the
orders.
inventory position. Whenever the inventory position falls at or below a
Glossary Term: level R, called the reorder point, the manager orders Q units, called the
reorder point order quantity. (Note that the reorder decision is based on the
The inventory position
when you reorder. inventory position including orders and not the inventory level. If
managers used the inventory level, they would place orders
Glossary Term: continuously as the inventory level fell below R until they received the
order quantity
The standard amount of order.) When you receive the order after the lead-time, the inventory
product you reorder when level jumps from zero to Q, and the cycle repeats.
inventory reaches the
reorder point.
In inventory systems, demand is usually uncertain, and the lead-time
can also vary. To avoid shortages, managers often maintain a safety
Glossary Term:
inventory level stock. In such situations, it is not clear what order quantities and
The amount of reorder points will minimize expected total inventory cost. Simulation
inventory on hand, not
counting ordered models can address this question.
quantities not received.
In this example, demand is uncertain and is Poisson distributed with
Glossary Term: a mean of 100 units per week. Thus, the expected annual demand is
safety stock
The additional quantity 5,200 units.
kept in inventory above
planned usage rates.
Statistical Note: For large values of the rate parameter, , the Poisson
distribution is approximately normal. Thus, this assumption is tantamount to
saying that the demand is normally distributed with a mean of 100 and
standard deviation of 100 = 10 . The Poisson is discrete, thus eliminating
the need to round off normally distributed random variates.
Each order costs $50 and the holding cost is $0.20 per unit per
week ($10.40 for one year).
Every unfilled demand is lost and costs the firm $100 in lost
profit.
The time between placing an order and receiving the order is 2
weeks. Therefore, the expected demand during lead-time is 200
units. Orders are placed at the end of the week, and received at
the beginning of the week.
For the EOQ policy, the reorder point should equal the lead-time demand;
that is, place an order when the inventory position falls to 200 units. If the
lead-time demand is exactly 200 units, the order will arrive when the
inventory level reaches zero.
However, if demand fluctuates about a mean of 200 units, shortages will occur
approximately half the time. Because of the high shortage costs, the manager
would use either a larger reorder point, a larger order quantity, or both. In
either case, the manager will carry more inventory on average, which will
result in a lower total shortage cost but a higher total holding cost. A higher
order quantity lets the manager order less frequently, thus incurring lower
total ordering costs. However, the appropriate choice is not clear. Simulation
can test various reorder point/order quantity policies.
Spreadsheet model
Before examining the spreadsheet simulation model, step through the logic
of how this inventory system operates. Assume that no orders are outstanding
initially and that the initial inventory level is equal to the order quantity, Q.
Therefore, the beginning inventory position will be the same as the inventory
level. At the beginning of the week, if any outstanding orders have arrived,
the manager adds the order quantity to the current inventory level.
The next step is to check if the inventory position is at or below the reorder
point. If so, place an order for Q units and compute the order cost. The
inventory position is increased by Q, but the inventory level remains the same.
Schedule a receipt of Q units to arrive after the lead-time.
Finally, compute the holding cost based on the inventory level at the end of
the week (after demand is satisfied) and the total cost.
Open the file Inventory System.xls. This spreadsheet model, shown in Figure
4.32, implements this logic.The basic problem data are shown in the upper
left corner. The decision variables are the order quantity (cell E3) and the
reorder point (cell E4). The initial inventory is set equal to the chosen order
quantity. This example assumes the specified lead-time is constant.
In the actual simulation, the beginning inventory position and inventory level
for each week equals the ending levels for the previous week, except for the
first week, which is specified in the problem data. The demand is in column F
as Crystal Ball assumptions.
Since all shortages are lost sales, the inventory level cannot be negative. Thus,
the ending inventory each week is:
Lost sales are computed by checking if demand exceeds available stock and
computing the difference.
ending beginning
inventory = inventory weekly demand + lost sales + weekly orders
position position
This formula might not appear to be obvious. Clearly, if there are no lost
sales, the ending inventory position is simply the beginning position minus
the demand plus any order that may have been placed. If lost sales occur,
computing the ending inventory position this way reduces it by the unfulfilled
demand, which is incorrect. Thus, you must add back the number of lost sales
to account for this.
In the ordering process, the manager places orders at the end of the week and
receives orders at the beginning of the week. Thus, in Figure 4.32, the order
placed at the end of the first week with a lead-time of 2 weeks will arrive at the
beginning of the fourth week. Column K determines the week an order is due
to arrive, and a MATCH function is used in column D to identify whether an
order is scheduled to arrive.
OptQuest solution
OptQuest Note: Except where indicated, this example uses the recommended Crystal
Ball run preferences. See Setting Crystal Ball run preferences on page 54.
Searching for the optimal combination of reorder point and order quantity
can be quite tedious. Fortunately, OptQuest performs this search efficiently.
With Inventory System.xls open in Crystal Ball, start OptQuest from the
Crystal Ball Run menu. In OptQuest:
Sample results are shown in Figure 4.33. OptQuest identified the best solution
as having an order quantity of 330 and a reorder point of 320. Figure 4.34
shows the performance graph, which gives the rate of improvement of the
objective function as each new simulation was evaluated during the search.
You can see that OptQuest quickly converged to a good solution value.
Because this optimization used a step size of 5, you can fine-tune the solution
by searching more closely around the best solution using a smaller step size
while also increasing the number of trials for better precision. This is a good
practice, since choosing too small a step size initially consumes a lot of time
or, if time is restricted, OptQuest might not find a good solution. Thus, as the
number of decision variables and range of search increases, use larger step
sizes and fewer trials initially. Later, refine the search around good candidates.
Figure 4.35 shows the results of an optimization with Q and R bounded to the
range 300 to 360, with a step size of 1, and 1000 trials per simulation.
OptQuest identified the best solution as Q = 332 and R = 318. There was very
little change from the initial solution. Figure 4.36 shows the Crystal Ball
forecast chart for the annual total costs. You can see that the distribution of
total annual cost is highly concentrated around the mean, but is also skewed
far to the right, indicating that very high values of cost are possible, although
not very likely. For such highly skewed distributions, run more trials than
usual, since statistics like the mean and tail-end percentiles can be susceptible
to extreme outliers.
Practice exercise 1
If you had defined each cost component as a forecast, the shortage costs could
run very large. A large number of shortages each year can have a detrimental
effect on customer goodwill. Suppose that you limit the number of shortages
to at most 25 each year. This is equivalent to restricting the maximum range
of the shortage cost to $2,500 (since each stockout costs $100 and the
minimum shortage cost is zero).
Incorporate this into OptQuest by defining a requirement for the total annual
shortage cost forecast statistic Range_Max with an upper limit of 2,500.
Achieving fewer shortages will probably require either higher order quantities
or higher reorder points. Thus, increase the range of the decision variables to
provide enough room to search.
Practice exercise 2
Try other values for lead time, such as 1, 3, or 4 weeks. Compare these to the
two-week solution.
Problem statement
When drilling wells in certain types of terrain, the performance of a drill bit
erodes with time because of wear. After T hours, the drilling rate can be
expressed as:
dM 15 -
-------- = ---------------- meters per hour Equation 4.2
dH T 10
For example, after 5 hours of consecutive use (starting with a new drill bit),
the drill is able to penetrate the terrain at a rate of:
15 -
---------------- = 21.21 meters per hour
5 10
Eventually, the bit must be replaced as the costs exceed the value of the well
being drilled. The problem is to determine the optimum replacement policy;
that is, the drilling cycle, T hours, between replacements.
T hours after replacing the bit, the total drilled depth in meters, M, is given by
the integral of Equation 4.2 from 0 to T, or:
M = 300 T 10 meters
The revenue value per meter drilled is calculated to be $60. Drilling expenses
are fixed at $425 per hour, and it generally requires R = 7.5 hours to install a
new drill bit, at a cost of $8,000 + $400R.
The objective is to find the value of T that maximizes the average profit per
month.
Spreadsheet model
Open the Drill Bit Replacement example, shown in Figure 4.37. This
workbook has Crystal Ball assumptions defined for:
Cell Assumption
C6 Replacement time, R.
One decision variable is defined in cell C12: the cycle time between
replacements of the drill bit, T.
The model outputs are computed using the formulas developed in the
previous section. The drilling expenses in cell F7 include both the drilling
costs and the replacement costs. The forecast cell is F12, profit per month.
OptQuest solution
OptQuest Note: Except where indicated, this example uses the recommended Crystal
Ball run preferences. See Setting Crystal Ball run preferences on page 54.
With Drill Bit Replacement.xls open in Crystal Ball, start OptQuest from the
Crystal Ball Run menu. In OptQuest:
Figure 4.38 shows sample OptQuest results. The best solution is to replace the
drill bit approximately every 19.9 hours. Figure 4.39 below shows the Crystal
Ball report for the simulation of this solution. The profit per month has a
relatively large standard deviation compared to the mean (coefficient of
variability=0.30); thus, it is likely that the true profit/month is significantly
higher or lower than the mean objective value.
Practice exercise
To meet drilling schedules, the project manager proposes replacing the bit
only after drilling at least 450 meters. Define a forecast for the drilling depth
(cell F5), specify a requirement in OptQuest that the 10th percentile of the
drilling depth must be greater than 450, and determine the optimum cycle
time and mean profit/month that meets this goal.
In this chapter
What affects the search?
Screening out low-priority decision variables
This chapter describes the different factors that affect how OptQuest searches for optimal
solutions. Understanding how these factors affect the optimization helps you control the
speed and accuracy of the search.
This chapter also includes discussion of the Crystal Ball Tornado Chart tool and how you
can use it to analyze the sensitivity of the variables in your model and screen out minor
decision variables.
Overview
Glossary Term: There are many factors that influence the performance of OptQuest.
performance
The ability to find high- For example, consider two optimization methods, A and B, applied to
quality solutions as an investment problem with the objective of maximizing expected
quickly as possible.
returns. When you evaluate the performance of each method, you
must look at which method:
Figure 5.1 shows that although both methods find solutions with a
similar expected profit after 10 minutes of searching, method A
jumps to the range of high-quality solutions faster than B. For the
criteria listed above, method A performs better than method B.
The following is a list of the relevant factors that directly affect the
search performance:
Simulation accuracy
Number of decision variables
Initial values
Bounds and constraints
Requirements
Variable requirements
Complexity of the objective
Simulation speed
Simulation accuracy
There are two factors that affect simulation accuracy:
200 to 500 trials is usually sufficient for obtaining accurate estimates for
the mean.
At least 1,000 trials are necessary for obtaining reasonable estimates for
tail-end percentiles.
Empirical testing with the simulation model using the Crystal Ball Bootstrap
tool (see the Crystal Ball User Manual) can help you find the appropriate
number of trials for a given situation.
Objective noisiness
Noisiness can also affect the accuracy of your OptQuest results.
In Figure 5.2, the objective on the left has significant amounts of noise caused
by the model assumptions being very uncertain. For this types of objective,
OptQuest might have trouble discerning the minimum or maximum value.
You can detect noisy functions by watching the Status And Solutions window
for best solutions that seem to bounce around from one set of values to
completely different sets of values. To help solve this problem, you can either
increase the number of trials per simulation or try to decrease the uncertainty
in your assumptions.
On the right, the objective appears smooth due to the relative certainty in the
model assumptions. In these cases, OptQuest should quickly converge to the
optimal solution.
Initial values
The initial values are the values listed in the Suggested Values column of the
Decision Variables window. The initial values are important because the closer
they are to the optimal value, the faster OptQuest might find the optimal
solution. If the initial values are constraint-infeasible, they will be ignored.
For potentially large models with many decision variables, you might find it
helpful to first run a deterministic optimization to search for good initial
values (see page 67). Then use the results as your initial values and run a
stochastic optimization. This technique, however, might not work well if you
have objectives or requirements defined with other than central tendency
statistics.
0 <= X <= 20
0 <= Y <= 16.667
0 <= Z <= 10
These bounds take into consideration the values of the coefficients and the
constraint limit to determine the maximum value for each variable. The new
tighter bounds result in a more efficient search for the optimal values of the
decision variables.
Since constraints limit the decision variables you are optimizing, OptQuest
can eliminate sets of decision variable values that are constraint-infeasible
before it spends the time running the simulation. Therefore, limiting the
optimization with constraints is very time-effective.
OptQuest Note: You can only define linear constraints in the Constraints window. For
information on defining nonlinear constraints, see Specifying constraints on page 58.
Requirements
While the search process benefits from the use of constraints and tight
bounds, performance generally suffers when you include requirements in the
optimization model for two reasons:
If you have many requirements that OptQuest cant easily satisfy, consider
combining your requirements into one multiobjective function. See Method
2: Multiobjective optimization on page 108 for an example of using
multiobjective functions.
Variable requirements
Optimizations with variable requirements take significantly longer to run than
optimizations without, basically because they are running an optimization for
each point in the variable requirement range. To speed up optimizations with
variable requirements, you can increase the Tolerance value in the Advanced
Options window
To increase the tolerance, you must understand how OptQuest decides that it
is time to move on to another point. First, OptQuest starts with a point at the
most restrictive end of the requirement range. OptQuest runs simulations
either until it decides that enough simulations have gone by without making a
significant improvement to the best solution or until it reaches some
maximum number of simulations (the default is 50 + the number of decision
variables squared). OptQuest considers a significant improvement any
improvement greater than the largest improvement during the optimization
multiplied by the Tolerance value.
Local
Maxima
Simulation speed
By increasing the speed of each simulation, you can increase the number of
simulations that OptQuest runs in a given time period. Some suggestions to
increase speed are:
The Tornado Chart tool graphs how sensitive the objective is to each decision
variable as they change over their allowed ranges. The chart shows all the
decision variables in order of their impact on the objective.
Viewing a tornado chart, with the most important variables at the top, you can
see the relative importance of all the decision variables. The variables listed at
the bottom are the least important in that they affect the objective the least. If
their effect is significantly smaller than those at the top, you can probably
eliminate them as variables and just let them assume a constant value.
You can use the Tornado Chart tool in addition to the Solution Analysis chart
in OptQuest to measure the impact of your decision variables. For
information, see Running a solution analysis on page 77.
In this appendix
This appendix provides a list of references of advanced topics suggested in this manual. It
is intended for advanced users who want more detail on topics such as metaheuristic
methods and how optimizations work.
References
This appendix provides references for further detail on:
Metaheuristic methods
Comparisons of optimization methods
Optimization of complex systems
See these references on our Web site:
Glover, F., J. P. Kelly, and M. Laguna. The Crystal Ball Approach to Crystal
Ball Simulation Optimization. Graduate School of Business, University of
Colorado (1998).
http://www.crystalball.com/optquest/methodology.html
http://www.crystalball.com/optquest/comparisons.html
http://www.crystalball.com/optquest/complexsystems.html
In this appendix
This appendix lists:
OptQuest menus
OptQuest commands and icons
OptQuest toolbar
OptQuest menus
OptQuest has the following menus, listed with the operations they perform.
For a detailed description of each command, view Help from within OptQuest
using the Help menu or icon.
File menu creates, opens, saves, and prints OptQuest files; also closes
OptQuest
Edit menu cuts, copies, pastes, and clears selected text; selects all text
in the optimization log window; duplicates current forecasts; and copies
simulations to the spreadsheet model
View menu opens the following windows: Status And Solutions,
Performance Graph, Bar Graph, Log, and Efficient Frontier
Run menu starts, stops, and pauses optimizations and opens the
Solution Analysis window
Tools menu starts the OptQuest wizard and opens the following
windows: Decision Variable Selection, Constraints, Forecasts, and Options
Window menu arranges, refreshes, and selects open windows
Help menu displays online help or version and copyright information
for OptQuest
Cu
t
Co
p
1
y
Pa
OptQuest toolbar
st
e
W
iz
a
D rd
ec
is
i
Co on
ns V a
t r
Fo rai iabl
re nts e
c Se
O ast le
pt ct
io Se io
n s le n
St ct
io
ar
t n
Pa
Figure B.1 The OptQuest toolbar
us
e
St
op
The OptQuest toolbar has the following tools:
St
at
u
Pe s A
rf n
or d S
Ba ma ol
r G nc uti
r e on
O a p Gr s
pt h ap
im h
Ef iz
fic atio
So i e n n
Lo
lu t F
153
Appendix B | Menus and Keyboard Commands
In this bibliography
Bibliography entries by subject:
Spreadsheet design
Optimization topics
Financial applications
Tolerance design applications
Petrochemical engineering applications
Inventory system applications
Spreadsheet design
Powell, S.G., and K.R. Baker. The Art of Modeling with Spreadsheets:
Management Science, Spreadsheet Engineering, and Modeling Craft. Hoboken,
NJ: John Wiley, 2003.
Optimization topics
Metaheuristics
Glover, F., J.P. Kelly, and M. Laguna. New Advances and Applications of
Combining Simulation and Optimization. Proceedings of the 1996 Winter
Simulation Conference. Edited by J.M. Charnes, D.J. Morrice, D.T. Brunner,
and J.J. Swain, 1996: 144-152.
Glover, F., and M. Laguna. Tabu Search. Boston: Kluwer Academic Publishers,
1997.
Kall, P., and S.W. Wallace. Stochastic Programming.New York: John Wiley and
Sons, 1994.
Multiobjective optimization
Chankong, V., and Y.Y. Haimes. Multiobjective Decision Making: Theory and
Methodology. New York: North-Holland, 1983.
Financial applications
Brealey, R., and S. Myers. Principles of Corporate Finance. 4th ed. New York:
McGraw-Hill, Inc., 1991.
Chen, N., R. Roll, and S. Ross. Economic Forces in the Stock Market.
Journal of Business, 59 (July 1986): 383-403.
Pyzdek, T. The Six Sigma Handbook, Revised and Expanded : The Complete
Guide for Greenbelts, Blackbelts, and Managers at All Levels. 2nd Ed. New York:
McGraw-Hill, 2003.
In this glossary
A compilation of terms specific to Crystal Ball as well as statistical terms used in this
manual.
APT
Arbitrage Pricing Theory.
assumption
An estimated value or input to a spreadsheet model. Assumptions capture the
uncertainty of model data using probability distributions.
bound
A maximum or minimum limit you set for each decision variable.
CPF
Cancer Potency Factor.
certainty
The percentage of simulation results that fall within a range.
coefficient of variability
A measure of relative variation that compares the standard deviation to the
mean. Results can be represented in percentages for comparison purposes.
constraint
A limitation that restricts the possible solutions to a model. You must define
constraints in terms of decision variables.
continuous
A variable that can be fractional, so no step size is required and any given
range contains an infinite number of possible values. Continuous also
describes an optimization model that contains only continuous variables.
correlation
A dependency that exists between assumption cells.
correlation coefficient
A number between -1 and 1 that specifies mathematically the degree of
positive or negative correlation between assumption cells. A correlation of 1
indicates a perfect positive correlation, minus 1 indicates a perfect negative
correlation, and 0 indicates there is no correlation.
decision variable
A variable in your model that you can control.
deterministic
A model or system with no random variables that yields single-valued results.
distribution
See probability distribution.
efficient frontier
The curve representing the best combinations of portfolio assets, when
plotting returns opposite risk.
efficient portfolio
Combinations of assets for which it is impossible to obtain higher returns
without generating higher risk or lower risk without generating lower returns.
An efficient portfolio lies directly on the efficient frontier.
EOQ
Economic Order Quantity.
feasible solution
A solution that satisfies any constraints imposed on the decision variables, as
well as any requirements imposed on forecast statistics.
final value
The last value that is calculated for a forecast during a simulation. The final
value is useful for when a forecast contains a function that accumulates values
across the trials of a simulation, or is a function that calculates the statistic of
another forecast.
forecast
A statistical summary of the mathematical combination of the assumptions in a
spreadsheet model, output graphically or numerically. Forecasts are frequency
distributions of possible results for the model.
forecast objective
One forecast from a model that Crystal Ball uses as the primary goal of the
optimization. Crystal Ball maximizes or minimizes a statistic of the forecasts
distribution.
forecast statistic
Summary values of a forecast distribution, such as the mean, standard deviation,
or variance. You control the optimization by maximizing, minimizing, or
restricting forecast statistics.
frequency distribution
A chart that graphically summarizes a list of values by sub-dividing them into
groups and displaying their frequency counts.
heuristic
An approximate and self-educating technique for improving solutions.
inventory
Any resource set aside for future use, such as raw materials, semifinished
products, and finished products. Inventory also includes human, financial,
and other resources.
inventory level
The amount of inventory on hand, not counting ordered quantities not
received.
inventory position
The amount of inventory on hand plus any amount on order but not received,
less any back orders.
kurtosis
The measure of the degree of peakedness of a curve. The higher the kurtosis,
the closer the points of the curve lie to the mode of the curve. A normal
distribution curve has a kurtosis of 3.
mean
The familiar arithmetic average of a set of numerical observations: the sum of
the observations divided by the number of observations.
median
The value midway (in terms of order) between the smallest possible value and
the largest possible value.
metaheuristic
A family of optimization approaches that includes genetic algorithms,
simulated annealing, tabu search, scatter search, and their hybrids.
mixed
A type of optimization model that has both discrete and continuous decision
variables.
mode
The value that, if it exists, occurs most often in a data set.
model
A representation of a problem or system in a spreadsheet application such as
Excel.
multiobjective optimization
A technique that combines multiple, often conflicting objectives, such as
maximizing returns and minimizing risks, into one objective.
nonlinear
A mathematical relationship where one or more terms in the formulas are
nonlinear. Terms such as x2, xy, 1/x, or 3.1x make nonlinear relationships. See
linear.
NPV
Net Present Value. The NPV equals the present value minus the initial
investment.
objective
A forecast formula in terms of decision variables that gives a mathematical
representation of the models goal.
optimal solution
The set of decision variable values that achieves the best outcome.
optimization
A process that finds the optimal solution to a model.
optimization model
A model that seeks to maximize or minimize some quantity, such as profit or
risk.
order quantity
The standard amount of product you reorder when inventory reaches the
reorder point.
percentile
A number on a scale of zero to one hundred that indicates the percent of a
probability distribution that is equal to or below a value (default definition).
performance
For an optimization program, the ability to find high-quality solutions as fast as
possible.
probability
The likelihood of an event.
probability distribution
A set of all possible events and their associated probabilities.
random number
A mathematically selected value which is generated (by a formula or selected
from a table) to conform to a probability distribution.
rank correlation
A method whereby Crystal Ball replaces assumption values with their ranking
from lowest value to highest value (1 to N) prior to computing the correlation
coefficient. This method lets you ignore the distribution types when correlating
assumptions.
RAROC
A multiobjective function that calculates the Risk-adjusted Return On Capital.
reorder point
The inventory position when you reorder.
requirement
A restriction on a forecast statistic that requires the statistic to fall between
specified lower and upper limits for a solution to be considered feasible.
risk
The uncertainty or variability in the outcome of some event or decision.
risk factor
A number representing the riskiness of an investment relative to a standard,
such as U.S. Treasury bonds, used especially in APT.
run
A Crystal Ball simulation.
safety stock
The additional quantity kept in inventory above planned usage rates.
seed value
The first number in a sequence of random numbers. A given seed value
produces the same sequence of random numbers every time you run a
simulation.
sensitivity
The amount of uncertainty in a forecast cell that is a result of both the
uncertainty (probability distribution) and model sensitivity of an assumption or
decision variable cell.
sensitivity analysis
The computation of a forecast cells sensitivity with respect to the assumption
or decision variable cells.
simulation
A set of Crystal Ball trials. Crystal Ball finds the best values by running
multiple simulations for different sets of decision variable values.
skewed
An asymmetrical distribution.
skewness
The measure of the degree of deviation of a curve from the norm of an
asymmetric distribution. The greater the degree of skewness, the more points
of the curve lie on one side of the peak of the curve as compared to the other
side. A normal distribution curve, having no skewness, is symmetrical.
spreadsheet model
Any spreadsheet that represents an actual or hypothetical system or set of
relationships.spreadsheet model.
standard deviation
The square root of the variance for a distribution. A measurement of the
variability of a distribution, that is, the dispersion of values around the mean.
step size
Defines the difference between successive values of a discrete decision variable
in the defined range. For example, a discrete decision variable with a range of
1 to 5 and a step size of 1 can take on only the values 1, 2, 3, 4, or 5; a discrete
decision variable with a range of 0 to 17 with a step size of 5 can take on only
the values 0, 5, 10, and 15.
stochastic
A model or system with one or more random variables.
STOIIP
Stock Tank Oil Initially In Place. STOIIP is the estimated reserves of an oil
field in millions of barrels (mmbbls).
trial
A three-step process in which Crystal Ball generates random numbers for
assumption cells, recalculates the spreadsheet models, and displays the results
in a forecast chart. A Crystal Ball simulation is made up of multiple trials.
variance
The square of the standard deviation, where standard deviation is
approximately the average of the sum of the squares of the deviations of a
number of observations (n) from their mean value (except the sum is divided
by n-1 instead of n, which would yield a true average).
wizard
A feature that leads you through the steps to create an optimization model. This
wizard presents windows for you to complete in the proper order.
In this index
A comprehensive index intended to give you quick access to the information in this manual.
A commands, keyboard
advanced options 65 list 149
analysis OptQuest 149
solution 76 complexity of objective 142
using tornado chart 143 constraint editor syntax 57
apartment tutorial 5 constraint feasibility defined 33
APT 110 constraint, defined 158
APT, defined 158 constraints
arbitrage pricing theory 110 affecting performance 140
assumption, defined 158 defined 16, 33
assumptions defining 56
correlating, practice exercise 25 defining nonlinear 56
defining 52 editor 57
syntax 57
B window description 57
bar graph 71 continuous
bar graphs 71 decision variables 32
best, percentage from 76 models 38
bibliography continuous, defined 158
by subject 153 correlating assumptions, practice exercise 25
financial applications 155 correlation coefficient, defined 158
inventory systems 155 correlation, defined 158
optimization topics 154 CPF, defined 158
petrochemical engineering 155 credits 177
spreadsheet design 154 Crystal Ball
tolerance design 155 models, creating 50
bound, defined 158 Crystal Ball charts 78
bounds Current Decision Variables window 71
affecting performance 140
defined for decision variables 32 D
requirement statistics 61 decision variable, defined 158
budget-constrained project selection exam- decision variables
ple 90 bounds defined 32
defined 4, 32
C in constraints 57
capability metrics 28 number affecting performance 139
cell references 14 selecting to optimize 53
certainty, defined 158 selection window 54
changing objectives, practice exercise 25 step size 32
charts, viewing 78 types 32
cleanup, groundwater example 94 Design for Six Sigma 28
coefficient of variability 46 design variable, defined 158
coefficient of variability, defined 158 determined variables 75
commands deterministic
start/pause/stop 67
M N
mathematical operations in constraints 57 noisy objectives 138
maximizing forecast statistic 35 nonlinear constraints 56
mean 41 nonlinear models 38
mean standard error 47 nonlinear, defined 161
mean standard error, defined 161 NPV, defined 162
mean, defined 161 number of simulations, setting 63
median 42 O
median, defined 161 objective, defined 162
menus objectives
Edit 148 changing, practice exercise 25
File 148 complex 142
Help 148 defined 17
OptQuest 148 noisy 138
Run 148 selecting forecast 58
Tools 148 using forecasts as 34
View 148 oil field development example 99
Window 148 operations, mathematical in constraints 57
metaheuristic, defined 161 optimal solution, defined 162
metaheuristics optimal solution, definition 4
defined 9 optimization log 72
references 154 Optimization Log window 73
methods optimization model, defined 162
heuristic 137 optimization models, types 38
metaheuristic 9 optimization performance 136
minimizing forecast statistic 35 optimization process, overview 50
mixed models 38 optimization topics, references 154
mixed, defined 161 optimization, defined 162
mode 42
With editing and updating by Eric Wainwright, Barbara Gentry, and David Blankinship.
Illustrations and screen captures by Barbara Gentry using Jasc Software, Inc.s Paint Shop
Pro.
This document was created electronically using Adobe Framemaker Release 7.1 for
Microsoft Windows.