(Series On System Engineering and Operations Research Volume 1) Chun-Hung Chen, Loo Hay Lee - Stochastic Simulation Optimization - An Optimal Computing Budget Allocation-World Scientific (2010)
(Series On System Engineering and Operations Research Volume 1) Chun-Hung Chen, Loo Hay Lee - Stochastic Simulation Optimization - An Optimal Computing Budget Allocation-World Scientific (2010)
SIMULATION
OPTIMIZATION
An Optimal Computing Budget Allocation
SERIES ON SYSTEM ENGINEERING AND OPERATIONS
RESEARCH
The series provides a medium for publication of new developments and advances in
high level research and education in the fields of systems engineering, industrial
engineering, and operations research. It publishes books in various engineering areas
in these fields. The focus will be on new development in these emerging areas with
utilization of the state-of-the-art technologies in addressing the critical issues.
The topics of the series include, but not limited to, simulation optimization,
simulation process and analysis, agent-based simulation, evolutionary computation/
soft computing, supply chain management, risk analysis, service sciences, bioinformatics/
biotechnology, auctions/competitive bidding, data mining/machine learning, and robust
system design.
STOCHASTIC
SIMULATION
OPTIMIZATION
An Optimal Computing Budget Allocation
Chun-Hung Chen
George Mason Univ., USA
National Taiwan Univ.
World Scientific
NEW JERSEY • LONDON • SINGAPORE • BEIJING • SHANGHAI • HONG KONG • TA I P E I • CHENNAI
Published by
World Scientific Publishing Co. Pte. Ltd.
5 Toh Tuck Link, Singapore 596224
USA office: 27 Warren Street, Suite 401-402, Hackensack, NJ 07601
UK office: 57 Shelton Street, Covent Garden, London WC2H 9HE
For photocopying of material in this volume, please pay a copying fee through the Copyright
Clearance Center, Inc., 222 Rosewood Drive, Danvers, MA 01923, USA. In this case permission to
photocopy is not required from the publisher.
ISBN-13 978-981-4282-64-2
ISBN-10 981-4282-64-2
Printed in Singapore.
Yu-Chi Ho
Editor-in-Chief
WSP Series on System Engineering
and Operations Research
January 20, 2010
v
May 11, 2010 6:45 SPI-B930 9in x 6in b930-fm
Preface
vii
May 11, 2010 6:45 SPI-B930 9in x 6in b930-fm
Preface ix
Acknowledgments
xi
May 11, 2010 6:45 SPI-B930 9in x 6in b930-fm
Acknowledgments xiii
Contents
Foreword v
Preface vii
Acknowledgments xi
xv
May 11, 2010 6:45 SPI-B930 9in x 6in b930-fm
Contents xvii
References 219
Index 225
May 11, 2010 6:45 SPI-B930 9in x 6in b930-ch01
Chapter 1
Introduction to Stochastic
Simulation Optimization
1.1. Introduction
1
May 11, 2010 6:45 SPI-B930 9in x 6in b930-ch01
system noise. They may need to deal with models or systems that
are highly nonlinear and high dimensional. The challenge is that
these problems may become too complex to solve analytically due
to complexity and stochastic relations. Attempts to use analytical
models for such systems usually require many simplifying assump-
tions. As a matter of fact, the solutions are most likely to be inferior
or inadequate for implementation. In such instances, a good alterna-
tive form of modeling and analysis available to the decision-maker is
simulation.
Stochastic simulation is a powerful modeling and software tool
for analyzing modern complex systems, because closed-form analyt-
ical solutions generally do not exist for such problems. Simulation
allows one to accurately specify a system through the use of logically
complex, and often non-algebraic, variables and constraints. Detailed
dynamics of complex, stochastic systems can therefore be modeled.
This capability complements the inherent limitations of traditional
optimization. With such modeling advantages, simulation has been
commonly used in so many different application areas, from trans-
portation to manufacturing, telecommunication, supply chain man-
agement, health care, and finance. The combination of optimization
and (stochastic) simulation is perhaps the Holy Grail of operations
research/management science (OR/MS); see Fu [2007].
Examples of stochastic simulation optimization in health care
include capacity planning of hospital beds and scheduling of sur-
gical rooms/facilities. Pharmaceutical companies wish to choose the
dosage level for a drug with the median aggregate response in pati-
ents. This dosage level is desirable because it achieves the positive
effect of the drug while minimizing side effects. Similarly, one might
wish to find the dosage level maximizing some utility function which
is increasing in positive drug response and decreasing in negative
drug response. Transportation systems that are commonly simulated
include airspace, airports (gates, runways, baggage handling, passen-
gers, taxi ways), rail networks, and roadway networks (urban, high-
way). In manufacturing, a factory simulation is commonly used for
analyzing the operations of a semiconductor fabrication (fab) facil-
ity, as well as for supply chain networks. In network management,
May 11, 2010 6:45 SPI-B930 9in x 6in b930-ch01
Exp(1)
U(1,39) U(5,45)
C1 C2
a fixed set-up cost of $32 per order and an incremental cost of $3 per
item), on-hand inventory ($1 per item per period), and backlogging
(fixed shortage cost of $5 per item per period). The times between
demands are i.i.d. exponential random variables with a mean of 0.1
period. The sizes of demands are i.i.d. random variables taking values
1, 2, 3, and 4, with probability 1/6, 1/3, 1/3, and 1/6, respectively.
The usual performance measure of interest involves costs assessed
for excess inventory, inventory shortages, and item ordering. Alter-
natively, the problem can be formulated with costs on excess inven-
tory and item ordering, subject to a service level constraint involving
inventory shortages. Even for a problem as simple as this one, there
is no closed-form expression to illustrate the inventory cost. Stochas-
tic simulation is performed to estimate the costs. A decision-maker
wants to find the optimal values of (s, S) in order to minimize the
inventory cost. #
Optimization/Search
Stochastic Simulator
Search and
Multiple compare
Simulation sampling different
Model alternatives
misguided so that a system that seems “best” may not be the “true
best”. Hence an effective method to run the simulation efficiently is
strongly desired.
N
¯ ≡ 1
J(θ) L(θ, ωj ). (1.3)
N
j=1
As N increases, J(θ)
¯ becomes a better estimate of E[L(θ, ω)]. Under
some mild conditions, J(θ)
¯ → E[L(θ, ω)] as N → ∞. With the
notations and formulation, the stochastic simulation optimization
May 11, 2010 6:45 SPI-B930 9in x 6in b930-ch01
Optimization/Search: min J (θ )
Stochastic Simulator: J (θ )
Search and
Multiple compare
Simulation Output: samples: different
L(θ, ω j) ω 1,ω 2,.. θ
1.3. Classification
1.4. Summary
Chapter 2
15
May 11, 2010 6:45 SPI-B930 9in x 6in b930-ch02
Cost
1 2 3 4 5
Design
Figure 2.1. 99% confidence intervals for 5 alternative designs after preliminary
simulation in Case 2.1.
May 11, 2010 6:45 SPI-B930 9in x 6in b930-ch02
Cost
1 2 3 4 5
Design
Figure 2.2. 99% confidence intervals for 5 alternative designs after preliminary
simulation in Case 2.2.
May 11, 2010 6:45 SPI-B930 9in x 6in b930-ch02
Cost
1 2 3 4 5
Design
Figure 2.3. 99% confidence intervals for 5 alternative designs after preliminary
simulation in Case 2.3.
May 11, 2010 6:45 SPI-B930 9in x 6in b930-ch02
Cost
1 2 3 4 5
Design
Figure 2.4. 99% confidence intervals for 5 alternative designs after preliminary
simulation in Case 2.4.
May 11, 2010 6:45 SPI-B930 9in x 6in b930-ch02
Cost
1 2 3 4 5
Design
Figure 2.5. 99% confidence intervals (inventory cost) for 5 alternative designs
after preliminary simulation in Case 2.5.
Backlog
1 2 3 4 5
Design
Figure 2.6. 99% confidence intervals (backlog quantity) for 5 alternative designs
after preliminary simulation in Case 2.5.
Cost
x1 x2 X
Design
Cost
x1 x2 X
Design
Cost
x1 x2 X
Design
via simulation evaluation. These chosen good designs are then used
to generate a new subset of designs for next iteration. By generating
decedent designs from good parent designs, GA iteratively converges
to an optimal design under some conditions. With simulation noise,
if the simulation precision is not high, we may end up with select-
ing inferior designs as parent designs to make the next generation,
which may misguide the direction of search or slow down the conver-
gence rate.
From the computing budget allocation perspective, we aim to allo-
cate the computing budget in a smarter way so that the search infor-
mation can be correctly estimated in a most efficient manner. In the
example of GA, we do not have to equally simulate all designs in the
subset in order to find the good ones. Instead, we want to correctly
choose the good designs using a minimum computing budget. This is
similar with what we had explained in Case 2.4. Naturally, different
search methods require different information and so the optimal com-
puting budget allocation schemes are different. Extensive discussions
will be given in Chapters 7 and 8.
2.5. Roadmap
Chapter 3
29
May 11, 2010 11:41 SPI-B930 9in x 6in b930-ch03
Define
1 −x2
ϕ(x) = √ e 2 , standard normal probability density
2π
function, and
x
Φ(x) = ϕ(t)dt, standard normal cumulative distribution
−∞
function.
In addition,
−µ
P {X < 0} = Φ , and
σ
µ
P {X > 0} = Φ .
σ
When two designs are compared, say designs 1 and 2, since
σ2 σ2
J˜2 − J˜1 ∼ N J¯2 − J¯1 , 1 + 2 ,
N1 N2
J
¯2 − J¯1
.
P {J˜1 < J˜2 } = P {J˜2 − J˜1 > 0} = Φ (3.4)
σ12 σ22
N1 + N2
Solution. Since J˜1 ∼ N (10, 10) and J˜2 ∼ N (20, 9), we can calculate
15 − 10
P {J1 < 15} = Φ
˜ √ = 0.943,
10
20 − 15
P {J˜2 > 15} = Φ √ = 0.952,
9
P {J˜1 < 15 and J˜2 > 15} = P {J˜1 < 15} ∗ P {J˜2 > 15} = 0.898,
and
10
P {J˜1 < J˜2 } = Φ √ = 0.989.
10 + 9
Thus,
15 − 10
P {J˜1 < 15} = Φ √ = 0.987,
5
which is higher than that before adding the 16 additional replica-
tions. Since no additional simulation budget is allocated to design 2,
P {J˜2 > 15} remains the same as that in Example 3.1. So
P {J˜1 < 15 and J˜2 > 15} = 0.719,
and
20 − 10
P {J˜1 < J˜2 } = Φ = 0.977,
100 81
4+16 + 4
in scenario (iii), which is the highest one among these three scenarios.
Details of the results are presented in Table 3.1.
∆1 ∆2 P {J˜1 < 15} P {J˜2 > 15} P {J˜1 < 15 and J˜2 > 15} P {J˜1 < J˜2 }
k
≥1− [1 − P {J˜b − J˜i < 0}]
i=1,i=b
k
=1− P {J˜b > J˜i } = APCS -B.
i=1,i=b
May 11, 2010 11:41 SPI-B930 9in x 6in b930-ch03
Proof. For a complete and rigorous proof, please see Chen [1996].
Here we give a quick intuitive explanation using a simple case where
k = 3 and b = 1, i.e., there are 3 designs and design 1 is selected
because it has the smallest sample mean.
P {CS} = P {J˜1 < J˜2 and J˜1 < J˜3 } = P {J˜1 < min(J˜2 , J˜3 )}
≥ P {J˜1 < min(J˜2 , J˜3 )}∗ P {J˜1 < max(J˜2 , J˜3 )}
≈ P {J˜1 < J˜2 }∗ P {J˜1 < J˜3 } = APCS -P.
Lemma 3.4 implies that the probability of missing the best design
converges to 0 as T → ∞, provided that each design receives a non-
zero proportion of computing budget. Also, the convergence rate of
P {IS} is the same as that of the slowest term of P {J˜b > J˜i }.
APCS can be computed very easily and quickly; no extra Monte
Carlo simulation is needed. Numerical tests show that the APCS
approximation can still lead to highly efficient procedures (e.g., Chen
[1996]; Inoue and Chick [1998]; Inoue et al. [1999]). Furthermore,
sensitivity information on the P {CS} with respect to the number of
simulation replications, Ni , which is central to the allocation of the
computing budget — can be easily obtained. APCS is therefore used
to approximate P {CS} within the budget allocation procedure.
and
22 − 10 = 0.9851.
P {J˜1 < J˜3 } = Φ
100 144
8 + 8
Therefore,
APCS -P = P {J˜1 < J˜2 }∗ P {J˜1 < J˜3 } = 0.9822∗ 0.9851 = 0.9676,
and
APCS -B = 1 − (1 − P {J˜1 < J˜2 }) − (1 − P {J˜1 < J˜3 })
= 1 − 0.0178 − 0.0149 = 0.9673.
Based on the simulation output, the sample means for all designs
that can be estimated, design b can be selected, and then an approx-
imation of the probability that design b is actually the best design
can also be estimated using an APCS. As Ni increases, J¯i becomes
a better approximation to Ji (≡ J(θi )) in the sense that the vari-
ance of the posterior distribution decreases, and so P {CS} increases.
As motivated in Chapter 2, instead of equally simulating all designs
(i.e., equally increasing Ni ), we will determine the best numbers of
simulation replications for each design. Stating this more precisely,
we wish to choose N1 , N2 , . . . , Nk such that P {CS} is maximized,
subject to a limited computing budget T ,
(OCBA–PCS Problem)
max P {CS}
N1 ,...,Nk
generality, assume J¯1 < J¯2 , i.e., b = 1. The OCBA problem in (3.8)
becomes
max P {J˜1 < J˜2 }
N1 ,N2
s.t. N1 + N2 = T. (3.9)
As discussed in Section 3.1,
σ12 σ22
J2 − J1 ∼ N J2 − J1 ,
˜ ˜ ¯ ¯ + ,
N1 N2
yields
J¯2 − J¯1
P {J˜1 < J˜2 } = Φ
σ2
.
σ 2
1
N
+ N2
1 2
k
s.t. Ni = T and Ni ≥ 0. (3.11)
i=1
In the next section, an asymptotic allocation rule with respect to the
number of simulation replications, Ni , will be presented.
k
s.t. Ni = T. (3.12)
i=1
Note that under normality assumption
σi2
Ji ∼ N Ji ,
˜ ¯ .
Ni
May 11, 2010 11:41 SPI-B930 9in x 6in b930-ch03
k
∞
1 t2
= δ
√ e− 2 dt,
− σb,i 2π
i=1 b,i
i=b
for i = 1, 2, . . . , k, and i = b.
k
−1
2
−δb,i
∂F δb,i σb2
= √ exp 2
− λ = 0, (3.15)
∂Nb 2 2π i=1 2σb,i Nb2 (σb,i
2 )3/2
i=b
The evaluated results in Remark 3.1 show that the allocation using
Theorem 3.2 is identical to the theoretical optimal allocation solution
for k = 2, where the closed-form optimal allocation can be found as
shown in Theorem 3.1.
Remark 3.2. To gain better insight into this approach, consider
another case where k = 3 and b = 1, Theorem 3.2 yields
N2 σ22 δ1,3
2
= 2 2 ,
N3 σ3 δ1,2
which is consistent with our intuition explained using a hypothetical
example depicted in Figure 3.1.
May 11, 2010 11:41 SPI-B930 9in x 6in b930-ch03
cσ 3
δ 1,3
cσ 2
δ 1,2
1 2 3 Designs
Remark 3.3. Following Remark 3.2, we see that the allocated com-
puting budget is proportional to variance and inversely proportional
to the difference from the best design. In fact, we can rewrite the
relationship between N2 and N3 as follows.
# $
N2 δ1,3 /σ3 2
= .
N3 δ1,2 /σ2
δ1,i
Intuitively, σi can be considered as a signal to noise ratio for design i
δ
as compared with the observed best design. High σ1,ii means that
either the performance of design i is much worse than the perfor-
mance of the best design or the estimation noise is small. In either
cases, it means we are more confident in differentiating the design i
from the best design, and so we do not need to allocate too much sim-
ulation budget to design i. Specifically, Theorem 3.2 shows that the
May 11, 2010 11:41 SPI-B930 9in x 6in b930-ch03
Example 3.5. Suppose there are five alternative designs under con-
sideration. We want to simulate all the 5 designs and then find the
best design with minimum expected performance. With some pre-
liminary simulation, we found that their sample means are 1, 2, 3, 4,
and 5, and their sample variances are 1, 1, 9, 9, and 4. How should
we allocate a total simulation budget of 50 replications if we apply
OCBA given in Theorem 3.2? In addition, if we apply the notion of
traditional two-stage procedures such as Rinott [1978] in which the
number of replications is proportional to variance, how should we
allocate these 50 replications to the five designs?
1 Nil
Nil −1 j=1 (L(θi , ωij ) − J¯i )2 , i = 1, . . . , k,
using the new simulation output; find b = arg
mini J¯i .
ALLOCATE Increase the computing budget by ∆ and
calculate the new budget allocation, N1l+1 ,
N2l+1 , . . . , Nkl+1 , according to
¯ ¯ 2
N l+1 s (J −J )
(1) il+1 = si (J¯b −J¯j ) , for all i = j = b, and
Nj j b i
" 2
l+1 k Nil+1
(2) Nb = sb i=1,i=b si ,
(OCBA–SC Problem)
min [N1 + N2 + · · · + Nk ]
N1 ,...,Nk
s.t. P {CS} ≥ P ∗ ,
Ni ∈ Γ, i = 1, . . . , k. (3.21)
∗
where P is the desired “confidence level.” While the problem
appears to be different from the OCBA–PCS problem given in Sec-
tion 3.3, we will show that their approximate solutions are identical,
so the same OCBA procedure applies to both problems [Chen and
Yücesan, 2005]. This OCBA–SC problem can be viewed as the dual
perspective, which essentially corresponds to the traditional statisti-
cal ranking and selection approach.
Using the APCS-B approximation given by Lemma 3.1, the com-
puting budget allocation problem (3.21) becomes
min [N1 + N2 + · · · + Nk ]
N1 ,...,Nk
k
s.t. 1 − P {J˜b > J˜i } ≥ P ∗ , and
i=1,i=b
Ni ∈ Γ, i = 1, . . . , k.
By taking a similar approach as in Section 3.3, we assume the vari-
ables, Ni s, are continuous. In addition, our strategy is to tentatively
May 11, 2010 11:41 SPI-B930 9in x 6in b930-ch03
k
∞
1 t2
s.t. 1 − δ
√ e− 2 dt ≥ P ∗ . (3.22)
i=1 − σb,i 2π
b,i
i=b
Then
k
k
! Ni2 α2i
Nb = σb or αb = σb ! . (3.26)
σi2 σi2
i=1,i=b i=1,i=b
The numerical testing shows that both forms of APCS provide good
approximation, particularly when N is not small. Since both are
lower bounds of P {CS}, we are sure that P {CS} is sufficiently high
when any APCS is satisfactory.
k
s.t. Ti = T and Ti ≥ 0. (3.30)
i=1
Since
σi2
J˜i ∼ NJi ,
¯ ,
Ni
replacing the variable Ni with Ti yields
√
( ci σi )2
J˜i ∼ N J¯i , . (3.31)
Ti
Note that the budget allocation problem in Equation (3.30) is the
same as that in Equation (3.12), except that √ the decision variable is
( ci σi )2 σ2
Ti rather than Ni and the variance of J˜i is rather than i .
Ti Ni
Following the same derivations given in Section 3.3, an asymptotic
optimal solution to problem (3.30) with respect to Ti can be obtained
as follows.
k
√ Ti2
Tb = cb σb ! ,
ci σi2
i=1,i=b
May 11, 2010 11:41 SPI-B930 9in x 6in b930-ch03
and
√
Ti ci σi /δb,i 2
= √ for i = 1, 2, . . . , k, and i = j = b. (3.32)
Tj cj σj /δb,j
Therefore, the asymptotic optimal solution with respect to Ni is sum-
marized in the following theorem.
particularly bad choices more than mildly bad choices. For example,
it may be better to be wrong 99% of the time if the penalty for being
wrong is $1 (an expected opportunity cost of 0.99 × $1 = $0.99)
rather than being wrong only 1% of the time if the penalty is $1,000
(an expected opportunity cost of 0.01 × $1,000 = $10).
In this section, we turn our attention to E[OC]. The opportu-
nity cost is “the cost of any activity measured in terms of the best
alternative forgone.” (cf. [Chick and Inoue, 2001a; He et al. 2007].
In our setting, the opportunity cost is the difference between the
unknown mean of the selected design b and the unknown mean of
the actual best design (defined as i∗ below). From the simulation
efficiency perspective, one has the same question to ask: how should
we control the simulation so that we can select a design within the
given computing budget while the expected opportunity cost is min-
imized, instead of maximizing P {CS} as in previous sections?
Deriving an asymptotic solution for minimizing E[OC] is much
more complicated than its counterpart for P {CS}. We will present
a greedy selection procedure to reduce the E[OC] of a potentially
incorrect selection by taking a similar OCBA approach to selection.
In addition, as shown in He et al. [2007], the OCBA procedure pre-
sented earlier performs very well not only for maximizing P {CS},
but also minimizing E[OC]. Therefore, to minimize E[OC], one can
either use the greedy procedure presented in this section, or simply
continue using the earlier OCBA procedures.
Our approach is to allocate simulation runs sequentially so that an
approximation to E[OC] can be minimized when the simulations are
finished. Following the same Bayesian model presented in Section 3.1,
the expected opportunity cost (E[OC]) is defined as follows
k
E[OC] = E[Jb − Ji∗ ] =
˜ ˜ P {i = i∗ }E[J˜b − J˜i∗ |i = i∗ ], (3.33)
i=1,i=b
where i∗ is the true best design and the expectation is taken with
respect to the posterior distribution of the J˜i , for i = 1, 2, . . . , k,
given all simulations seen so far. According to the definition of the
conditional expectation [Whittle, 2000],
E[X · I(A)] E[X · I(A)]
E(X|A) = = ,
E[I(A)] P (A)
May 11, 2010 11:41 SPI-B930 9in x 6in b930-ch03
k
≤ E[I(J˜i < J˜b )∗ (J˜b − J˜i )]
i=1,i=b
k
= P {J˜i < J˜b }∗ E[J˜b − J˜i |J˜i < J˜b ] ≡ EEOC .
i=1,i=b
Since design b has the best (smallest) sample mean so far, i.e., J¯b < J¯i
for all i, the conditional probability, P {J˜i < J˜j for all j ∈/ {i, b}|
May 11, 2010 11:41 SPI-B930 9in x 6in b930-ch03
J˜i < J˜b }, will often be close to 1, so that P {J˜i∗ < J˜b } is often a good
approximation to P (i = i∗ ). Similarly we hope E[I(J˜i < J˜b )(J˜b − J˜i )]
would be a reasonable approximation to E[I(i = i∗ )(J˜b − J˜i )]. The
numerical tests performed by He et al. [2007] show that using EEOC
to approximate E[OC] leads to a highly efficient procedure.
and
Db = EEOC (b) − EEOC
k +∞ +∞
∗
= xfb,i,b (x)dx − xfb,i (x)dx ≤ 0, (3.39)
i=1,i=b 0 0
OCBA–EOC Procedure
INPUT k, T, ∆, τ, n0 (T -kn0 is a multiple of ∆ and n0 ≥ 5).
Specifically, choose a number of designs per stage to
simulate, m, and a (small) total number of simulation
replications per stage, ∆, such that τ = ∆/m is an
integer, and a total number of replications T to run.
INITIALIZE l ← 0;
Perform n0 simulation replications for all
designs; N1l = N2l = · · · = Nkl = n0 .
LOOP WHILE ki=1 Nil < T DO
Nil
UPDATE Calculate sample means J¯i = N1l j=1
i
L(θ
i , ωij ), and sample standard deviation si =
1 Ni
l
¯ 2
N l −1 j=1 (L(θi , ωij ) − Ji ) , i = 1, . . . , k,
i
using the new simulation output; compute,
i = 1, . . . , k; find b = arg mini J¯i ; Calculate
Di , for i = 1, . . . , k, using Equations (3.38)
and (3.39).
ALLOCATE Find the set S(m) ≡ {i : Di is among the m
lowest values}. Increase the computing bud-
get by τ for design i ∈ S(m), i.e., Nil+1 =
Nil + τ if i ∈ S(m), Nil+1 = Nil , otherwise.
SIMULATE Perform additional max(Nil+1 − Nil , 0) simu-
lations for design i, i = 1, . . . , k; l ← l + 1.
END OF LOOP
δt,i = Jt − Ji , and
2 σt2 σi2
σt,i = + .
Nt Ni
As before, we assume that the simulation output is i.i.d. and has
normal distribution with mean Ji and variance σi2 , i.e.,
L(θi , ωij ) ∼ N (Ji , σi2 ). (3.40)
In the classical model, the means and variances for all designs
are assumed to be known, i.e., Ji , σi2 , and t are known in the
May 11, 2010 11:41 SPI-B930 9in x 6in b930-ch03
s.t. N1 + N2 + · · · + Nk = T. (3.43)
Since there is no simple close-form expression for P {CS}C , we
approximate it using the Bonferroni inequality, similar to the approx-
imation APCS-B presented in Lemma 3.1.
k
P {CS}C = P (J¯t − J¯i < 0)
i=1,i=t
k
≥1− [1 − P {J¯t − J¯i < 0}]
i=1,i=t
k
=1− P {J¯t > J¯i } ≡ APCS -C.
i=1,i=t
May 11, 2010 11:41 SPI-B930 9in x 6in b930-ch03
k
s.t. Ni = T. (3.44)
i=1
k
∞
1 y2
= δ
√ e− 2 dy,
i=1 − σt,i 2π
t,i
i=t
where
2 σt2 σ2
σt,i = + i.
Nt Ni
Let F be the Lagrangian relaxation of Equation (3.44):
k ∞
k
1 − y2
F =1− δ
√ e 2 dy − λ Ni − T , (3.45)
i=1 − σt,i 2π i=1
t,i
i=t
and
" 2
k Nil+1
(2) Ntl+1 = st i=1,i=t si ,
Chapter 4
Numerical Implementation
and Experiments
In this section we test the OCBA algorithm and compare it with sev-
eral different allocation procedures by performing a series of numer-
ical experiments.
69
May 11, 2010 6:45 SPI-B930 9in x 6in b930-ch04
Equal allocation
mean, J[1] . Based on the “indifference zone” idea, one may be willing
to choose design 2 if J[1] and J[2] are very close (i.e., J[2] − J[1] < d∗ ,
where d∗ is the indifference zone parameter). By doing so, the pro-
cedure avoids conducting a large number of simulation replications
to distinguish between small differences. More specifically, we intend
to determine the number of simulation replications to ensure
Exp(1)
U(1,39) U(5,45)
C1 C2
Figure 4.1. A two-stage queuing system where both C1 , and C2 must be greater
than 10.
May 11, 2010 6:45 SPI-B930 9in x 6in b930-ch04
1
0.99
0.98
0.97
0.96
P{CS}
0.95 OCBA
0.94 Equal
0.93 PTV
0.92
0.91
0.9
200 1200 2200 3200 4200 5200
T
Figure 4.2. P {CS} versus T using three sequential allocation procedures for
Experiment 4.1.
800
700
Computing Budget Allocation
600
500
OCBA
400
Equal
300
PTV
200
100
0
1 2 3 4 5 6 7 8 9 10
Design
120
100
80
Time
20
0
1 2 3 4 5 6 7 8 9 10
Design
Figure 4.4. Actual average system time and variance for each design.
110
105
100
95
90
Time
85
80
75
70
65
60
1 2 3 4 5 6 7 8 9 10
Design
(a)
110
105
100
OCBA
95
90
Equal
Time
85
80
75
70
65
60
1 2 3 4 5 6 7 8 9 10
Design
(b)
Figure 4.5. (a) 95% confidence interval for T = 100 (after n0 replications of each
design). Since OCBA is simulated equally in the first stage, the OCBA and Equal
confidence intervals are the same. (b) 95% confidence intervals for T = 500 for
equal allocation and OCBA.
May 11, 2010 6:45 SPI-B930 9in x 6in b930-ch04
Table 4.2. Results for Dudewicz and Dalal’s and Rinott’s procedure.
0.95
0.9
P{CS}
OCBA
0.85
Equal
0.8 PTV
0.75
0.7
0 1000 2000 3000 4000 5000 6000
T
Figure 4.6. P {CS} versus T using three sequential allocation procedures for
Experiment 4.2.1.
0.95
0.9
P{CS}
OCBA
0.85
Equal
0.8 PTV
0.75
0.7
0 2000 4000 6000 8000 10000 12000
T
Figure 4.7. P {CS} versus T using three sequential allocation procedures for
Experiment 4.2.2.
0.95
0.9
P{CS}
0.85 OCBA
Equal
0.8 PTV
0.75
0.7
0 1000 2000 3000 4000 5000 6000
T
Figure 4.8. P {CS} versus T using different allocation procedures for Experi-
ment 4.2.3. The computation costs in order to attain P {CS} = 99% are indicated.
9
8
7
6
Steep
5
Mean
Neutral
4
Flat
3
2
1
0
0 1 2 3 4 5 6 7 8 9
Index
(a)
1
0.95
0.9
0.85
0.8
P{CS}
0.75 OCBA
0.7 Equal
0.65 PTV
0.6
0.55
0.5
0 5000 10000
T
(b)
Figure 4.9. (a) Illustration of three generic cases: neutral, flat, steep. (b) P {CS}
versus T using three different allocation procedures for the flat case in
Experiment 4.2.4. (c) P {CS} versus T using three different allocation procedures
for the steep case in Experiment 4.2.4.
0.95
0.9
0.85
P{CS}
OCBA
0.8 Equal
0.75 PTV
0.7
0.65
0 200 400 600 800 1000 1200
T
(c)
10 31
20 41
30 51
40 61
50 71
60 81
70 91
80 101
90 111
100 121
Table 4.8. The speed-up factor of using OCBA as compared with the use of
equal allocation for Experiment 4.3.
Speed-up factor using OCBA 2.08 3.40 7.86 12.69 16.50 20.05
ENAFCB(k) 2.40 2.94 3.18 3.94 4.55 4.99
40
35
OCBA “Speed-up Factor”
30
25
20
15
10
0
0 200 400 600 800 1000
Number of Designs
1
0.99
0.98
0.97
0.96 n0=5
P{CS}
0.95
n0=10
0.94
n0=15
0.93
n0=20
0.92
0.91
0.9
600 800 1000 1200 1400
T
Figure 4.11. P {CS} versus the computing budget T for different n0 as OCBA
is applied.
Table 4.9. The achieved P {CS} and the total number of times required
to call the OCBA procedure for n0 = 10.
∆=1 ∆=5
4.2.4. Variance
The allocation given in OCBA theorems assumes known variances.
The OCBA sequential algorithm estimates these quantities using the
updated sample variances. As more simulation replications are iter-
atively allocated to each design, the variance estimation improves.
As discussed earlier, to avoid poor estimation at the beginning, n0
should not be too small (we suggest n0 ≥ 5). Also, it is wise to
avoid large ∆ to prevent a poor allocation before a correction can
be made in the next iteration, which is particularly important in the
early stages. Our numerical testing indicates that the performance
of the OCBA procedure is not sensitive to the choice of n0 and ∆ if
May 11, 2010 6:45 SPI-B930 9in x 6in b930-ch04
Chapter 5
93
May 11, 2010 6:45 SPI-B930 9in x 6in b930-ch05
that we tested, and the relative efficiency increases for larger prob-
lems. Some of the details can also be found in Chen et al. [2008].
Sm ≡ {i1 , i2 , . . . , im }. (5.1)
max P {CSm }
N1 ,...,Nk
s.t. N1 + N2 + · · · + Nk = T. (5.3)
May 11, 2010 6:45 SPI-B930 9in x 6in b930-ch05
s.t. N1 + N2 + · · · + Nk = T. (5.7)
and for i ∈
/ Sm ,
∞ −(x−δi )2
1 2(σ 2 /Ni )
δi
P (J˜i ≥ c) = √ √ e i dx = Φ √ ,
0 2π(σi / Ni ) σi / Ni
k
F = P {J˜i ≤ c} · P {J˜i ≥ c} − λ Ni − T
i∈Sm i∈S
/ m i=1
k
−δi δi
= Φ √ · Φ √ −λ Ni − T .
i∈Sm
σi / Ni σi / Ni i=1
i∈S
/ m
(5.8)
1 δj δj −1/2
· ϕ N − λ.
2 σj / Nj σj j
Simplifying,
−δi2 −δj2
2(σ 2 /Ni )
−δi −1/2 2 δj −1/2
P {J˜j ≥ c} · e i Ni = P {J˜i ≤ c} · e 2(σj /Nj ) Nj .
σi σj
(5.11)
Taking the log on both sides,
δ 2 Ni 1 −δi
log(P {J˜j ≥ c}) − i 2 + log log(Ni ) −
2σi 2 σi
δj2 Nj δj 1
= log(P {Ji ≤ c}) −
˜
2
+ log − log(Nj ).
2σj σj 2
Now, we consider the asymptotic limit T → ∞ with Ni = αi T ,
k
i=1 αi = 1. Substituting for Ni and dividing by T yields
1 δ2 1 −δi 1
log(P {J˜j ≥ c}) − i 2 αi + log − log(αi T )
T 2σi T σi 2T
1 δj2 1 δj 1
= log P {J˜i ≤ c} − 2 αj + log − log(αj T ),
T 2σj T σj 2T
and then taking T → ∞ yields
δi2 δj2
α i = αj .
σi2 σj2
May 11, 2010 6:45 SPI-B930 9in x 6in b930-ch05
−1 δj δj σj
· ϕ 2 − λ.
2 σj / Nj (σj /Nj ) N 3/2
j
Then,
−δi2 −δj2
2(σ 2 /Ni )
−δi −1/2 2 −δj −1/2
P {J˜j ≤ c} · e i Ni = P {J˜i ≤ c} · e 2(σj /Nj ) N ,
σi σj j
which is the same as Equation (5.11). Following the analogous deriva-
tion that led to Equation (5.12) yields the same result
Ni αi σi /δi 2
= = . (5.13)
Nj αj σj /δj
May 11, 2010 6:45 SPI-B930 9in x 6in b930-ch05
(3) i, j ∈
/ Sm , and i = j:
From Equation (5.10),
∂F ∂F
= =0
∂Ni ∂Nj
yields
−δi2 −δj2
2(σ 2 /Ni )
−δi −1/2 2 −δj −1/2
P {J˜j ≤ c} · e i N = P {J˜i ≤ c} · e 2(σj /Nj ) N .
σi i σj j
Again, following the same derivation procedures as in the previous
two cases leads to the same result
Ni αi σi /δi 2
= = . (5.14)
Nj αj σj /δj
In all of the above three cases, we obtain the same locally optimal
solution to the Lagrangian relaxation of the OCBA-m problem (5.7)
and therefore have the following result.
δ
Similar with Remark 3.3, σii can be considered as a signal to noise
ratio for design i. In the problem of selecting the top-m, the higher
δi
σi , the more confident we are about whether design i is in the optimal
subset or not. Intuitively, we should spend less computing budget on
those designs for which we are highly confident, i.e., high signal to
noise ratio. The allocated computing budget is inversely proportional
to the square of the signal to noise ratio.
It is interesting to see that the signal to noise relation for selecting
the top-m is the same as that for selecting the single best, except that
the definitions of δ are different.
~ ~
J im
~
J im +1
~
J ik
J i1
J i1 J im J i m +1 J ik
c' c c"
Var(J˜ik ), where for any value of c, P {J˜i1 ≤ c} > P {J˜i2 ≤ c} > · · · >
P {J˜im ≤ c}, and P {J˜im+1 ≥ c} < P {J˜im+2 ≥ c} < · · · < P {J˜ik ≥ c}.
To prevent APCSm from being small, we want to choose c to avoid
any of the product terms being too small, especially P {J˜im ≤ c} and
P {J˜im+1 ≥ c}, because one of these two terms is usually the smallest
in the product, depending on the value of c. Thus, a good choice of
c lies between J¯im and J¯im+1 , because
(i) if c = c < J¯im , then P {J˜im < c } < 0.5, and this term decreases
with decreasing c , resulting in a negative impact on APCSm;
(ii) similarly, if c = c > J¯im+1 , then P {J˜im+1 > c } < 0.5, and this
term decreases with increasing c .
With these considerations, one would like to maximize both
P {J˜im ≤ c} and P {J˜im+1 ≥ c}. Chen et al. (2008) chose to maximize
√
the product of P {J˜im ≤ c} and P {J˜im+1 ≥ c}. Define σ̂i ≡ σi / Ni .
Then
c − ¯im J¯im+1 − c
J
P {J˜im ≤ c}P {J˜im+1 ≥ c} = Φ Φ .
σ̂im σ̂im+1
(5.17)
Following the same approach as used to establish Theorem 5.1, this
quantity is asymptotically maximized when
σ̂i J¯i + σ̂im J¯im+1
c = m+1 m . (5.18)
σ̂im + σ̂im+1
We use this value of c in our implementation, and the numerical
experiments show that it results in good performance.
Remark 5.2. Note that c falls between designs im and im+1 and
can be considered as the border which divides the best top-m sub-
set from the remaining designs. Namely, c is the border separating
good designs and non-good designs. Therefore, |δi | is equivalent to
the distance between design i and the border. From the computing
budget allocation perspective, to identify which designs belong to
top-m, the “critical” designs are those which are near the border.
The further away from the border, the more we are confident that
they are either very good or very bad designs. We should spend less
May 11, 2010 6:45 SPI-B930 9in x 6in b930-ch05
the original OCBA procedure and OCBA-m procedure work very well
when m = 1, though the original OCBA procedure performs slightly
better.
For notational simplicity, in this section, we assume J[1] < J[2] <
· · · < J[k] , so design [1] is the best, and the optimal subset containing
the top-m is {[1], [2], . . . , [m]} (but this is unknown a priori). It is a
correct selection if the selected subset Sm = {[1], [2], . . . , [m]}.
Exp(1)
U(1,39) U(5,45)
C1 C2
Figure 5.2. A two-stage queuing system where both C1 , and C2 must be greater
than 10.
May 11, 2010 6:45 SPI-B930 9in x 6in b930-ch05
0.98
0.96
0.94
P{CS}
Equal
PTV
0.92 OCBA
OCBA-m
0.9
0.88
0.86
200 700 1200 1700 2200 2700
T
Figure 5.3(a). P {CS} versus T using four sequential allocation procedures and
KL for Experiment 5.1.
0.4
0.35
0.3
0.25
E[OC]
0.2 Equal
PTV
OCBA
0.15 OCBA-m
0.1
0.05
0
200 700 1200 1700 2200 2700
T
Figure 5.3(b). E[OC] versus T using four sequential allocation procedures and
KL for Experiment 5.1.
May 11, 2010 6:45 SPI-B930 9in x 6in b930-ch05
when the objective is to find the single best design, fares worse in this
experiment than these two allocations when the objective is changed
to finding all the top-3 designs. Specifically, the computation costs
to attain P {CS} = 0.95 for OCBA-m, OCBA, Equal, and PTV are
350, 2050, 700, 900, respectively. KL achieves a substantially higher
P {CS} than the desired level (e.g., 1.0 for the target minimum of
both P ∗ = 0.9 and P ∗ = 0.95) by spending a much higher comput-
ing budget than actually needed, consistent with the fact that typical
two-stage indifference-zone procedures are conservative.
0.99 KL
P*=95%
KL
P*=90%
0.98
0.97
0.96
P{CS}
0.95
0.94
0.93
0.92
0.91
0.9
Figure 5.4(a). P {CS} versus T using four sequential allocation procedures and
KL (triangle for P ∗ = 90% and circle for P ∗ = 95%) for Experiment 5.2.
0.05
0.045
0.04
0.035
0.03
E[OC]
0.025
0.02
0.015
0.01
KL KL
0.005
P*=90% P*=95%
Figure 5.4(b). E[OC] versus T using four sequential allocation procedures and
KL (triangle for P ∗ = 90% and circle for P ∗ = 95%) for Experiment 5.2.
May 11, 2010 6:45 SPI-B930 9in x 6in b930-ch05
For KL, we also test two cases P ∗ = 0.9 and P ∗ = 0.95, and the
corresponding estimated P {CS} and E[OC] versus the average total
simulation replications are shown as two single points (the triangle
and circle) in Figure 5.4. Not surprisingly, the performance of KL is
along the performance curve of PTV, since KL basically allocates the
computing budget based on design variance. However, KL achieves
a substantially higher P {CS} than the desired level (e.g., about 0.99
for the target minimum of P ∗ = 0.9) by spending a much higher
computing budget than actually needed.
KL
0.99 P*=95%
KL
P*=90%
0.98
0.97
0.96
P{CS}
0.95
0.94
0.93
0.92
0.91
0.9
Figure 5.5(a). P {CS} versus T using four sequential allocation procedures and
KL (triangle for P ∗ = 90% and circle for P ∗ = 95%) for Experiment 5.3.
May 11, 2010 6:45 SPI-B930 9in x 6in b930-ch05
0.05
0.045
0.04
0.035
0.03
E[OC]
0.025
0.02
0.015
0.01
0.005
KL KL
P*=90% P*=95%
0
1200
1450
1700
1950
2200
2450
2700
2950
3200
3450
3700
3950
4200
4450
4700
4950
5200
5450
5700
5950
6200
6450
6700
6950
7200
7450
7700
7950
200
450
700
950
Figure 5.5(b). E[OC] versus T using four sequential allocation procedures and
KL (triangle for P ∗ = 90% and circle for P ∗ = 95%) for Experiment 5.3.
E[OC] P{CS}
6:45
0.8
0.9
0.82
0.84
0.86
0.88
0.92
0.94
0.96
0.98
1
0.005
0.015
0.025
0.035
0.045
0.01
0.02
0.03
0.04
0.05
0
1000
1000
2500
2500
4000
4000
5500 5500
7000 7000
8500
Experiment 5.4.
Experiment 5.4.
8500
10000 10000
11500 11500
13000 13000
14500 14500
16000 16000
17500 17500
19000 19000
20500 20500
22000 22000
23500 23500
25000 25000
26500 26500
Equal
Equal
28000 28000
29500 29500
31000 31000
32500 32500
SPI-B930
PTV
PTV
34000 34000
T
35500
T
35500
37000 37000
38500 38500
40000 40000
OCBA
OCBA
41500 41500
43000
9in x 6in
43000
44500 44500
46000 46000
47500 47500
49000 49000
OCBA-m
OCBA-m
50500 50500
52000 52000
53500 53500
55000 55000
56500 56500
58000 58000
59500 59500
61000 61000
62500 62500
64000 64000
65500 65500
Selecting An Optimal Subset
67000 67000
68500 68500
70000 70000
Figure 5.6(b). E[OC] versus T using four sequential allocation procedures for
Figure 5.6(a). P {CS} versus T using four sequential allocation procedures for
115
b930-ch05
May 11, 2010 6:45 SPI-B930 9in x 6in b930-ch05
Chapter 6
Multi-objective Optimal
Computing Budget Allocation
where Θ is the design space and (J1 (θ), . . . , JH (θ)) are the H objec-
tives for design θ which are to be optimized and Jl (θ) = E[Ll (θ, ω)] is
the expected value for the l-th objective which can be estimated from
simulation output Ll (θ, ω). To simplify the discussion, we denote the
design space Θ = {1, . . . , k}, and Jil as the l-th objective for design i,
i.e., Jil ≡ Jl (θi ).
117
May 11, 2010 6:45 SPI-B930 9in x 6in b930-ch06
f1
f1
Optimal Pareto Front
Strongly
Dominated Incomparable Infeasible Region
f2 f2
(a) (b)
Figure 6.1. Illustration of the (a) Pareto dominance relationship between can-
didate designs relative to design A and (b) Non-dominated designs and Pareto
designs.
which are located at the boundaries between the dark and light grey
regions, they are dominated by A because A has one better objective
when compared to these designs.
Non-dominated designs are those solutions in which we cannot
find any feasible designs that dominate them, and they are shown
in Figure 6.1(b). These non-dominated designs will form an optimal
Pareto front. Pareto set is defined as the set which consists of all the
non-dominated designs.
i
where J¯il = N1i N n=1 Xiln is the sample mean of the simulation out-
put for the l-th objective of design i, and σil2 is assumed to be known,
but in the actual application can be approximated by the sample vari-
i
ance σ̂il2 = Ni1−1 N ¯ 2
n=1 (Xiln − Jil ) . (For ease of notation, we will use
σil2 in our derivation below.)
In addition to using the Bayesian framework to estimate the pos-
terior distribution for performance measure J˜il , we use it to estimate
the predictive posterior distribution of J˜il if additional replications
are allocated to design i. This is extensively discussed in Section 3.6.
Suppose we have already obtained Ni independent simulation obser-
vations Xil1 , Xil2 , . . . , XilNi ; if additional ∆i replications are to be
allocated to design i, we can approximate the posterior distribution
for J˜il (without actually running the ∆i replications) by
σil2
Jil ∼ N Jil ,
˜ ¯ . (6.6)
Ni + ∆ i
The observed Pareto set consists of all the designs that we cannot
find any other designs dominating them in observation. The designs
that are not in the observed Pareto set will be in the observed non-
Pareto set. According to the definition of performance index ψi , at
the end of the simulation, with enough simulation budget, ψi should
approach 1 for designs in the observed Pareto set, whereas for designs
in the observed non-Pareto set, ψi should approach 0.
May 11, 2010 6:45 SPI-B930 9in x 6in b930-ch06
Type II error:
Type II error occurs when some designs that are actually dominated
by other designs are included in the observed Pareto set. It is the
May 11, 2010 6:45 SPI-B930 9in x 6in b930-ch06
probability that at least one design in the observed Pareto set is actu-
ally dominated by another design. The probability that the designs
in the observed Pareto set are all non-dominated is:
P Ei . (6.13)
i∈Sp
e2 = 1 − P Ei . (6.14)
i∈Sp
Lemma 6.2. The Type I and Type II errors can be bounded from
above by the following ae1 and ae2 , respectively:
e1 ≤ ae1 = ψi , (6.15)
i∈S̄p
e2 ≤ ae2 = (1 − ψi ). (6.16)
i∈Sp
Lemma 6.3. We have the following valid upper bounds for Type I
and Type II errors:
e1 ≤ ae1 ≤ ub1 = H|S̄p |−H max min P (J˜jl ≤ J˜il ) , (6.17)
j∈Θ l∈{1,...,H}
i∈S̄p j=i
e2 ≤ ae2 ≤ ub2 = (k − 1) max min (P (J˜jl ≤ J˜il )) .
j∈Θ l∈{1,...,H}
i∈Sp j=i
(6.18)
Proof. See Appendix C.3.
Let ji denote the design that dominates design i with the highest
probability, and ljii denote the objective of ji that dominates the
corresponding objective of design i with the lowest probability, i.e.,
H
ji = arg max P (J˜jl ≤ J˜il ), (6.19)
j∈S
j=i l=1
that dominates it the most, i.e., design ji . Then, we will consider the
objective that the design ji is worse than the design i the most, and
this objective is the lji i -th objective. When this probability goes to
zero, we will be sure that the design that dominates design i with
the highest probability actually does not dominate design i due to
the fact that for the ljii -th objective, design i is better than design
ji . Hence design i is non-dominated.
It is the probability that all the designs in the Pareto set are non-
dominated, and all the designs in the non-Pareto set are dominated
by at least one design.
To maximize simulation efficiency, we want to determine the best
numbers of simulation replications for each design so as to maximize
the probability of correct selection. Specifically, we wish to choose
N1 , N2 , . . . , Nk such that P {CS} is maximized, subject to a limited
computing budget T , i.e.,
(MOCBA-PCS Problem)
max P {CS}
N1 ,...,Nk
Hence,
P{CS} ≥ 1 − ub1 − ub2 = APCS-M.
2
σdl
i
For a design d ∈ SB , βd = d
βi2 . (6.28)
σil2 i
i∈Θ∗d d
SB ≡ S\SA , (6.34)
(ii) For those designs which play the role of dominating, the alloca-
tion rule will be the squares root rule (i.e., the allocation quantity
for the design will be the square root for the sum of weighted
squares for those designs that it dominates).
This is quite similar to the OCBA results, where the best design
is using the square root rule, while the other designs are using the
ratio rule. However, in the multi-objective problem, as more than
one designs are playing the dominating roles, and it might also be
possible that a design is playing both roles (due to the stochas-
tic nature, a design might be dominated by one design with high
probability, but also dominating others with high probability), so we
need to have some rules to determine which roles the designs are
playing.
In general, the designs in SA play the role of being dominated,
and designs in SB play the role of dominating. To determine which
designs are in these sets, we need to use Equation (6.33). The left
side of the inequality for these two equations is the signal to noise
ratio for the design to play the role for being dominated, and the
right-hand side of the inequality is the signal to noise ratio when
the design plays the role of dominating. The smaller the signal to
noise ratio, the more critical a role this design plays in determining
the probability of correct selection. In order to maximize the prob-
ability of correct selection, we improve the simulation precision for
those critical designs with the smaller signal to noise ratios (more
computing budget should be allocated to them).
It is not trivial to compute the allocation quantity given in Lemma
6.5 because, to compute Equations (6.27) to (6.29), we need to know
the values from Equations (6.30) to (6.37). However, the values from
Equations (6.30) to (6.37) also depends on the value of αi . One pos-
sible numerical method is to solve this problem iteratively to search
for αi . We first assume initial values for αi , and then solve Equations
(6.30) to (6.37). After computing the new values for αi , we repeat
the process until αi converges.
For ease of computation, we offer a simplified version of allocation
rule summarized as follows.
May 11, 2010 6:45 SPI-B930 9in x 6in b930-ch06
2
σdl h
For d ∈ SB , α2d = 2
d
α2h , (6.39)
σhl h
h∈Θ∗d d
where
δijl = J jl − J il , (6.40)
δijl |δijl |
lji ≡ arg min P (J˜jl ≤ J˜il ) = arg max 2 + σ2 , (6.41)
l∈{1,...,H} l∈{1,...,H} σil jl
H
δijli |δijli |
j j
ji ≡ arg max P (J˜jl ≤ J˜il ) = arg min , (6.42)
j∈Θ j∈Θ σil2 i + 2
σjl i
j=i l=1 j=i j j
2
δhj h
2
δihl
h lj i
SA = h|h ∈ S, 2 2
h
< min h
, (6.43)
σhl h + σj h i∈Θh σil2 i + σhl
2
i
jh h lj h h
h
SB = S\SA , (6.44)
In the simplified rule, after obtaining the sample means and sam-
ple variances from the initial simulation runs, we can evaluate Equa-
tions (6.40) to (6.45) to determine the sets SA and SB . Then we can
compute the allocation quantity from Equations (6.38) and (6.39)
directly. Iterative search is no longer needed.
The simplification is made based on some approximations. First
we ignore the impact of the allocation quantity in determining the
role of dominating or being dominated. Also in computing the allo-
cation quantity, we use the variance associated with each design
directly.
May 11, 2010 6:45 SPI-B930 9in x 6in b930-ch06
0 1 5 2 5
1 3 5 1 5
2 5 5 5 5
3-design case
6
4
objective 2
0
0 1 2 3 4 5 6
objective 1
PCS
1
0.95
0.9
0.85
0.8
0.75
0.7
0.65
0.6
50 100 150 200 250 300 350 400 450 500
budget
1 1 5 2 5
2 3 4 1 4
3 5 3 5 3
PCS
1
0.95
0.9
0.85
0.8
0.75
0.7
0.65
0.6
50 100 150 200 250 300 350 400 450 500
budget
The total simulation budget is varied from 200 to 2000 with a step
increase of 200. The test results shown in Figure 6.6 and Table 6.5 are
qualitatively similar to those in previous example. Again MOCBA
and MOCBA simplified perform significantly better than equal allo-
cation. The time saving is higher in this example, partially due to the
fact that the best design is so unique and outstanding as compared
with other designs, the allocation rule of MOCBA and the simplified
one can gain most of allocation advantage whereas equal allocation
naively allocates equally without considering the problem structure.
The higher efficiency is also due to the larger design space which gives
the MOCBA algorithms more flexibility in allocating the computing
budget.
PCS
1
0.9
0.8
0.7
0.6
0.5
200 400 600 800 1000 1200 1400 1600 1800 2000
budget
Steep Case
10
6
Objective 2
0
0 2 4 6 8 10
Objective 1
PCS
1
0.9
0.8
0.7
0.6
0.5
0.4
0.3
0.2
0.1
0
200
400
600
800
1000
1200
1400
1600
1800
2000
2200
2400
2600
2800
3000
3200
3600
4000
4400
4800
5200
5600
6000
6400
6800
7200
7600
8000
budget
Chapter 7
Large-Scale Simulation
and Optimization
141
May 11, 2010 6:45 SPI-B930 9in x 6in b930-ch07
Pre-screening
Sub-Problem: 10~102
N
Terminate?
Y
Initial
Designs
Performance Simulation
Evaluation
OCBA
Fitness
Evaluation
Elite Designs
Selection
Yes
Terminate?
No
End
Generation of
New set of
Designs
Figure 7.2. An example illustrating how OCBA helps a search method for
large-scale simulation optimization problems.
portion of samples are taken from the entire design space to ensure
convergence to the global optimum. The algorithm is summarized as
follows.
Step 4 is to simulate and select the best from the set of sam-
pled designs, comprising the union of all sampled designs from each
disjoint (sub)region. It is essentially a small and discrete simulation
optimization problem discussed in earlier chapters. This step involv-
ing many replications of simulation usually consumes most compu-
tational effort. Our goal herein is to allocate the computing budget
in a most efficient manner so that the best design can be identified.
Hence, the OCBA method presented in Chapter 3 can be applied
directly. Details about this integration of OCBA and NP can also be
found in Shi and Chen [2000].
0.2
PBIL EQUAL
PBIL OCBAM
0.18
NRS EQUAL
NRS OCBAM
0.16
CE EQUAL
CE EQUAL
CE OCBAM
PBIL EQUAL
Average Error of E [f (x*)]
0.14
0.12
NRS EQUAL
0.1
CE OCBAM
0.08
PBIL OCBAM
NRS OCBAM
0.06
0.04
0 10000 20000 30000 40000 50000 60000 70000 80000 90000 100000
T
4
x 10
0
−5
−5
−4
−4
−3
−3
−2 −2
−1 −1
0 0
1 1
2 2
3 3
4 4
5 5
PBIL EQUAL
1.4
PBIL OCBAM
NRS EQUAL
1.2
NRS OCBAM
CE EQUAL
Average Error of E [f (x*)]
1 CE OCBAM
NRS EQUAL
PBIL EQUAL
0.8
CE EQUAL
0.6
CE OCBAM
0.4
NRS OCBAM
PBIL OCBAM
0.2
0 10000 20000 30000 40000 50000 60000 70000 80000 90000 100000
T
Chapter 8
161
May 11, 2010 6:45 SPI-B930 9in x 6in b930-ch08
Processors
N1 X1
N2 X2
T Synthesizer Outcome
…
Nk Xk
6:45
Type T Ni Processor Xi Synthesizer Outcome Objective
OCBA Computing simulation simulation simulation selecting the selected best PCS(best)
budget replication output best
number (mean)
OCBA-m Computing simulation simulation simulation selecting top-m selected top-m PCS(top-m)
SPI-B930
number (mean)
OCBA-OSD Computing simulation simulation simulation selecting the selected best PCS(best)
budget replication output best after
number (mean) regression
9in x 6in
OCBA-CE Computing simulation simulation simulation selecting top-m Selected top-m, Mean squared
budget replication output and their error
number (mean) performance (coefficient
of KL
divergence)
OSTRE Computing simulation partial conditional Estimating Estimated Var(estimated
budget replication simulation probability rare-event rare-event rare-event
number for probability probability probability)
partial
simulation
ODCBA Data Number of data data sample Monte Carlo Estimated Mean Squared
Collection points for each collection average DEA to Efficiency Error
Budget unknown estimate the (efficiency)
165
variable efficiency
b930-ch08
May 11, 2010 6:45 SPI-B930 9in x 6in b930-ch08
that there are at most 3 design locations which should receive some
of the simulation budget. These three designs, also called support
points, are determined as follows.
Two of the three support points are always the first and the last
point, i.e., x1 and xk , respectively. The third support point is
3x1 + xk xM + xb x1 + xk
xM+b−1 ,
≤ <
4 2 2
xs = x x1 + xk xM + xb x1 + 3xk
M+b−k , < ≤
2 2 4
x(k−1)/2 , otherwise
|DM,i |
Ni = ,
|DM,1 | + |DM,s | + |DM,k |
where
ˆ i)
d(x
M = arg min √ ,
i=b−1,b+1 ςi
(x1 − xi )(xs − xi ) − (x1 − xb )(xs − xb )
Di,k = ,
(xk − x1 )(xk − xs )
Di,1
2 Di,s
2 Di,k
2
ςi = σ 2 + + ,
N1 Ns Nk
ˆ i ) ≡ ŷ(xi ) − ŷ(xb ),
d(x
Ni σi (γ−yj ) 2
• Nj = σj (γ−yi ) , i, j ∈
/ Ω,
P
N βT
• P i∈Ω i ∼ O e 2 ,
j∈Ω Nj T
Rare
Lm=L
Event
L2
L1
L0=0
t
s.t. c1 N1 + c2 N2 + · · · + cm Nm = T,
θ(X) = min θ
s.t. λj xsj ≤ θxsjo , s∈S
j∈J
λj ≥ 0, j∈J
There are several other related works along the line of this research.
This section gives some examples. By no means, this is an exhaustive
list. Instead of finding the design with smallest mean, Trailovic and
Pao [2004] develop an OCBA approach for finding a design with
minimum variance. They also show a successful application to multi-
sensor target tracking problems.
It is well known that positive correlation can help the performance
of ranking and selection. Unlike the independence assumption of sim-
ulation replications required in this book, Fu et al. [2007] extend the
OCBA to problems in which the simulation outputs between designs
are correlated.
Glynn and Juneja [2004] extend the OCBA to problems in which
the simulation output is no longer normally distributed by utiliz-
ing large deviation theory. Blanchet et al. [2007] further extend
the work to heavy-tailed distributions, also utilizing large deviation
theory.
Pujowidianto et al. [2009] consider constrained optimization prob-
lem where the best feasible design is selected from a finite set of alter-
natives. Both main objective and the constraint measures need to be
estimated using simulation. Most other simulation budget allocation
approaches either handle only unconstrained problems, or decouple
the problem into two phases — first select which designs are fea-
sible and then determine efficient simulation budget allocation to
select the best one from the feasible designs. They intend to address
the simulation budget allocation problem by considering feasibility
and optimality issues at the same time. An asymptotically optimal
May 11, 2010 6:45 SPI-B930 9in x 6in b930-ch08
Appendix A
Fundamentals of Simulation
175
May 11, 2010 6:45 SPI-B930 9in x 6in b930-appa
Appendix A 177
you determine how extensive you want to model the problem, and
the scope of the system that you want to model in the simulation.
2. Model conceptualization
After the problem is defined, we should determine what components
we have to include in the simulation, and also define the interaction
between these components. For discrete-event simulation, we need to
define the set of events, and how the state changes when an event
occurs. This step is also known as model conceptualization. In Sec-
tion A.2, we will provide more detailed discussion for this topic.
3. Data collection and input data modeling
When building the simulation model, we also need to collect data
from the system so that they can be used when running the sim-
ulation model. For example, when we want to model a fast food
restaurant using simulation, we have to collect data on how cus-
tomers arrive at this restaurant and how fast the customers can be
served. Then based on these data, we need to conduct some statisti-
cal analysis to choose the distribution that can fit the data the best.
This distribution will be used to run the simulation. The statistical
analysis is also known as Input Data Modeling. Details will be given
in Section A.4.
4. Model developing
After defining the conceptual model and conducting input data anal-
ysis, we need to translate the model into computer code. In the pro-
cess of translation, we can either do it using basic computer languages
like Basic, FORTRAN, C, C++, or Java, or we can use commercial
software such as Arena, Extend, Automod, etc. When coding using a
computer language, we have to code the logic of the event scheduler
so that the occurrence of the events will be arranged chronologi-
cally. Moreover, we also have to code the random number genera-
tor so that we can generate data following the certain distributions.
Details about the logic behind the event scheduling can be found in
Section A.3 while the random number generators can be found in
Section A.5. If we are using existing commercial software, we have
to code the simulation logic according to the syntax required in the
simulation software.
May 11, 2010 6:45 SPI-B930 9in x 6in b930-appa
5. Output analysis
For stochastic simulation, it is never enough to only run a single
replication. In order to guarantee certain accuracy for the estimate,
we need to conduct statistical analysis on the simulation output and
then determine how many replications and how long we should run
the simulation. Under some cases, we may even need to conduct
warm-up analysis so as to make sure there is no bias in our estimate.
The details of output analysis are discussed in Section A.6.
6. Validation and verification
We need to verify if the simulation model is accurately coded, and
then validate it with the real system to see if it is close to the actual
system that we would like to study. We offer further discussions in
Section A.7.
The whole simulation studies can be described using Figure A.1.
In the following sections, we will give more detailed discussions of the
concepts in the simulation model, Input Data Modeling, Output Data
Analysis, Random Number Generator, Verification and Validation.
Simulation
Model
validate
Output Data Analysis
No
Done
Appendix A 179
e1 e2 e3
Event driven
t1 t2 t2
event occurs (called triggering event), the states are updated. The
triggering event will also trigger the occurrence of some other future
events. To ensure the simulation proceeds correctly, we need to have
a mechanism which can control the occurrence of the events. There
are two mechanisms for advancing simulation time and guarantee-
ing that all events occur in the correct chronological order. They are
time-driven mechanism and event-driven mechanism. The main dif-
ferences between these two mechanisms are illustrated in Figure A.2.
In the time-driven mechanism, the simulation time will move at a
constant time step. At every clock tick that the time is advanced, we
check if there are any events occurring. It is possible that there are
a few events occurring at the same time or there is no event occur-
ring. If there is more than one events occurring, we will execute the
events one by one, and the states and the event list will be updated
accordingly. If no event takes place, we can treat it as a null event
which causes no state change. For the time-driven mechanism, the
state transition will be synchronized by the simulation clock.
Event-driven mechanism is a different mechanism. The simulation
clock will be advanced to the time when the next event occurs. In this
case, only one event is occurring at every time when the simulation
clock is advanced.
The event-driven mechanism in general is more efficient than the
time-driven mechanism because in the time-driven mechanism, in
order to avoid too many events happening at a time click, the time
May 11, 2010 6:45 SPI-B930 9in x 6in b930-appa
step has to be small, resulting in null events at most of the time clicks.
On the other hand, animation will run more smoothly if time pro-
ceeds in a constant time-step rather than to the next event directly.
The procedure of the event-driven scheduling mechanism is sum-
marized as follows:
Step 1. Take the first event from the future event list as the trigger-
ing event.
Step 2. Advance the simulation time to the time that the event is
occurring.
Step 3. Update the state according to the event and the current
state.
Step 4. Delete the triggering event and any other infeasible events
from the future event list.
Step 5. Add necessary feasible events to the future event list, and
sort the events at the future event list according to the event
occurring time.
Step 6. Go to Step 1 until the simulation reaches the termination
condition.
Appendix A 181
No Yes
Set LS(t) = 1 Is LS(t) = 1? Increase LQ(t)
by 1
Collect statistics
will be placed in the future event list. Figure A.3 gives a flow chart
showing how an arrival event is executed.
When a departure event occurs, the current service is done and
the server will find the next customer in the queue to serve if there
are customers in the queue. If no customer is waiting in the queue,
the server will become idle. Similarly the departure event will gen-
erate another departure event and place it in the future event list if
the server is not idle. Figure A.4 gives a flow chart showing how a
departure event is executed.
Yes No
Reduce LQ(t) by 1 Set LS(t) = 0
Is LQ(t) ≠ 0?
Collect statistics
Data collection
Data collection from the systems is always time-consuming and not
trivial. Some important issues to consider when planning the data
collection are listed as follows.
Appendix A 183
Distribution fitting
After the data are collected, we can plot the data using a histogram,
From the histogram or the problem nature, we can determine which
distribution is the most appropriate. Then we can estimate the
parameters for that distribution from the data using some princi-
ples such as maximum likelihood estimation or minimum squared
errors. Several statistical software packages are available to identify
the appropriate distribution as well as its corresponding parameters.
Examples include ExpertFit, Arena Input Analyzer, SPSS, SAS, and
Eview.
x0 1 3 5 7 9 11 13 15
x1 2 6 10 14 18 6 2 14
x2 4 12 8 12 4 12 4 12
x3 8 8 0 8 8 8 8 8
x4 0 0 0 0 0 0 0 0
x6 0 0 0 0 0 0 0 0
May 11, 2010 6:45 SPI-B930 9in x 6in b930-appa
Appendix A 185
x0 1 2 4 5 8 10
x1 11 6 12 7 8 14
x2 9 2 4 13 8 10
x3 3 6 12 15 8 14
x4 1 2 4 5 8 10
x6 11 6 12 7 8 14
will repeat itself. Depending on the initial values, some streams have
longer periods than the others, where the period is defined as the
number of random numbers generated before any number repeats in
the sequence.
In general, we need to choose the parameters in such a way that
the period is as long as possible because we do not want the num-
bers to repeat too soon. For the linear congruential generator, the
maximum period can be as large as M if we choose the parameters
carefully. In addition, the random numbers generated should have
the desired properties of uniform distribution. To check whether the
generated random number follows a uniform distribution, we can use
some statistical tests, for example the chi-square test or Komogorov–
Smirnov test. As for testing for independence, we can use the auto-
correlation test.
Table A.3 gives four good examples of the parameters suggested
in the literature. All of them have M = 231 − 1 = 2,147,483,647.
The first set has been well used in the C/C++ complier for Unix
a b M
machines. The third and fourth set have b = 0 and so the computa-
tional effort of the addition is saved.
F(x)
x
X = F -1(U)
Appendix A 187
F (u) = 1 − e−λu .
Reject
f(x)
X
0 2
z1 z2 Accept
z3
function
x
0≤x≤1
f (x) = 2 − x 1<x≤2
0 otherwise
We can implement the acceptance rejection method by first gener-
ating a uniform number z between 0 and 2, and then another uniform
number u from 0 to 1. If the value u is less than or equal to f (z), we
will accept the number z, and return x = z. Otherwise, we will dis-
card that number and repeat the same procedure until a new number
z is accepted. The idea is illustrated as Figure A.6.
The efficiency of this method lies in how many of the numbers
that are accepted, i.e., the so-called acceptance rate.
Appendix A 189
Point estimator
The point estimator for J(θ) based on discrete-time data is the sam-
ple mean defined by
n
¯ = 1
J(θ) Li (θ), (A.3)
n
i=1
May 11, 2010 6:45 SPI-B930 9in x 6in b930-appa
where {L1 (θ), L2 (θ), . . . , Ln (θ)} are the n data that we have collected
from the simulation.
The point estimator is unbiased because the expected value of
J(θ)
¯ is equal to J(θ). It is always desirable for the estimator to be
unbiased.
The point estimator for J(θ) based on continuous-time data is
defined by
TE
¯ = 1
J(θ) L(θ, t)dt, (A.4)
TE 0
where L(θ, t), 0 ≤ t ≤ TE , is the output data that we have col-
lected from simulation time 0 to time TE , where TE is the time when
simulation terminates.
Interval estimator
A point estimator cannot tell users how accurate the estimate is.
Hence, an interval estimator is useful in many cases. The interval
estimator, also called confidence interval, for J(θ) is approximately
given by
J(θ)
¯ ± tα/2,d s ¯(θ)
J
where sJ¯(θ) is the estimated standard deviation for the point estima-
tor J¯(θ), and d is the degree of freedom which depends on the amount
of data used . The challenge in estimating the confidence interval lies
in the estimation of the standard deviation for the point estimator
J(θ).
¯ This is because to estimate standard deviation, we need to
have independent observations. In the following two subsections, we
will discuss how to estimate confidence intervals for terminating and
steady-state simulations. Moreover, given this estimator, we will dis-
cuss how to determine the required number of replications and length
of each simulation run.
Appendix A 191
Appendix A 193
There are two different types of tests we can use for validation.
1. Subjective test. It is also known as a qualitative test. We involve
people who are knowledgeable on one or more aspects of the sys-
tem, and let them to check if the model is reasonable.
2. Objective test. It is also known as a quantitative test. Statistical
tests are used to compare some aspects of the system data set
with the model data set. We have to validate the model assump-
tions, and then compare the model input-output relationships to
corresponding input-output relationships in the real system.
May 11, 2010 11:41 SPI-B930 9in x 6in b930-appb
Appendix B
195
May 11, 2010 11:41 SPI-B930 9in x 6in b930-appb
Triangular distribution
Suppose the random variable X has a triangular distribution between
a and b with mode c (the point with highest density). The probability
density function (pdf) is
2(x − a)
, if a ≤ x ≤ c
(b − a)(c − a)
f (x) = 2(b − x) .
, if c ≤ x ≤ b
(b − a)(b − c)
0, otherwise
The cumulative distribution function (cdf) is
0, if x < a
2
(x − a)
, if a ≤ x ≤ c
(b − a)(c − a)
F (x) = .
− x)2
(b
1− , if c < x ≤ b
(b − a)(b − c)
1, if b < x
The expected value is
a+b+c
E[X] = ,
3
and the variance is
a2 + b2 + c2 − ab − ac − bc
V ar(X) = .
18
A triangular distribution implies that the modeled random quan-
tity can be any number between a and b but most likely around the
May 11, 2010 11:41 SPI-B930 9in x 6in b930-appb
Appendix B 197
Exponential distribution
Suppose X is exponentially distributed with mean β, denoted as
X ∼ EXP(β). The probability density function (pdf) is
1 e−x/β , if x ≥ 0
f (x) = β .
0, otherwise
The cumulative distribution function (cdf) is
1 − e−x/β , if x ≥ 0
F (x) = .
0, otherwise
The expected value is
E[X] = β,
and the variance is
V ar[X] = β 2 .
Exponential distribution has been well used in stochastic analysis and
queueing theory. However, please note that the exponential distribu-
tion has the property of “no memory” (or called “memoryless”), i.e.,
P {X > t + t0 |X > t0 } = P {X > t}.
This property is usually true for modeling interarrival times between
customers, particularly for uncoordinated arrivals. But the memory-
less property could be very wrong in many other cases.
Weibull distribution
The probability density function (pdf) is
α−1
α x
α
e−(x/β) , if x ≥ 0
f (x) = β β .
0, otherwise
May 11, 2010 11:41 SPI-B930 9in x 6in b930-appb
Normal distribution
The probability density function (pdf) is
1 2 2
f (x) = √ e−(x−µ) /2σ .
2πσ
The expected value is
E[X] = µ,
and the variance is
V ar[X] = σ2 .
By the principal of the Central Limit Theorem, the normal distri-
bution is suitable to model any performance which is an average in
nature.
Poisson distribution
The probability mass function (pmf) is
−λ x
e λ , if x ∈ {0, . . .}
p(x) = x! .
0, otherwise
May 11, 2010 11:41 SPI-B930 9in x 6in b930-appb
Appendix B 199
Appendix C
H
= min 1 − P J˜j ≺ J˜i = min 1 − P J˜jl ≤ J˜il . (C.1)
j∈Θ j∈Θ
j=i j=i l=1
To prove
the left-handside of the inequality, we will show that
P ∩ Jj ≺ Ji
˜ ˜ ≥ P J˜j ≺ J˜i , i = 1, 2, . . . , k (C.2)
j∈Θ
j=i j∈Θ
j=i
Since then,
ψi = P ∩ J˜j ≺ J˜i ≥ 1 − P J˜j ≺ J˜i
j∈Θ
j=i j∈Θ
j=i
H
= 1− P J˜jl ≤ J˜il , i = 1, 2, . . . , k.
j∈Θ l=1
j=i
201
May 11, 2010 6:45 SPI-B930 9in x 6in b930-appc
J
= P J˜j ≺
J˜k for J = 2, . . . , k − 1.
j=1
(C.6)
Then (C.2) follows immediately for ψk . For J = 2, we make the
following observations:
I1 (A) and I2 (A) are both monotone nondecreasing in the single
coordinate (argument) Jjl for j = 1, . . . , k − 1 and l = 1, . . . , H;
(C.7)
and
I1 (A) and I2 (A) are both monotone nonincreasing in the single
coordinate (argument) Jkl for l = 1, . . . , H.
(C.8)
In the terminology of Lehmann [1966], the functions I1 (A) and
I2 (A) are concordant in each coordinate Jjl because when all the
May 11, 2010 6:45 SPI-B930 9in x 6in b930-appc
Appendix C 203
other coordinates are held fixed, both functions I1 (·) and I2 (·) of the
single coordinate Jjl are monotone in the same direction. Since the
components of J˜ ≡ (J˜1 , . . . , J˜k ) are mutually independent random
variables, it follows immediately from (C.7), (C.8), and Theorem
1 of Lehmann [1966] that I1 (J) ˜ and I2 (J˜) are positively quadrant
dependent random variables. Then from Lemma 3 of Lehmann [1966],
we have
E I1 (J)
˜ I2 (J˜) ≥ E I1 (J)
˜ E I2 (J˜) . (C.9)
To complete the induction argument, we define
J
IJ∗ (A) ≡ Ij (A) for J = 2, . . . , k − 1. (C.10)
j=1
J+1
≥E IJ∗ (J˜) E IJ+1 (J˜) ≥ E Ij (J˜) (C.14)
j=1
May 11, 2010 6:45 SPI-B930 9in x 6in b930-appc
Appendix C 205
After some algebra, we see that an upper bound for Type I error
is given by:
e1 ≤ ub1 = H|S̄p | − H max min P J˜jl ≤ J˜il . (C.18)
j∈Θ l∈{1,...,H}
i∈S̄p j=i
≤ (k − 1) max min P J˜jl ≤ J˜il . (C.20)
j∈Θ l∈{1,...,H}
i∈Sp j=i
May 11, 2010 6:45 SPI-B930 9in x 6in b930-appc
∂P (J˜j k ≤ J˜ik )
− (n − 1) · i i i
− λ. (C.21)
∂Nr
i∈Sp
∂P (J˜hk ≤ J˜ik )
− (n − 1) · i i
− λ, (C.22)
∂Nh
i∈Λh
where
Ωh = {j|j ∈ S̄p , jj = h}, (C.23)
Λh = {i|i ∈ Sp , ji = h}. (C.24)
By expanding the derivatives, we have
! 2
" 2
∂L H δjhk j
δjhkj σhk j
=− √ exp − 2 3 2
∂Nh 2 2π j∈Ω 2σjhkj σjhk j
N h
h
! "
2 2
1 δhj h kh
δhjh kh σhk
+ (n − 1) · √ exp − 2 3 2
h
2 2π 2σhjh kh σhj h kh
N h
! "
1 2
δihki 2
δihki σhk
+ (n − 1) · √ exp − 2 3 N2
i
− λ.
2 2π 2σihki σihk h
i∈Λh i
(C.25)
May 11, 2010 6:45 SPI-B930 9in x 6in b930-appc
Appendix C 207
Denote
! "
2 2
1 δhj k δhjh kh σhk
C1 = (n − 1) · √ exp − 2 h h 3 2
h
2 2π 2σhjh kh σhj h kh
N h
! "
1 2
δihk 2
δihki σhk
D1 = (n − 1) · √ exp − 2 i 3 N2
i
holds, we have
D1
lim = 0,
T →∞ C1
SY = Sp \SX
For h ∈ SX ,
! "
2
δhj 2
∂L 1 h kh
δhjh kh σhk
= (n − 1) · √ exp − 2 3 2 − λ.
h
(C.27)
∂Nh 2 2π 2σhjh kh σhj h kh
N h
May 11, 2010 6:45 SPI-B930 9in x 6in b930-appc
For h ∈ SY ,
! "
∂L 1 2
δihk 2
δihki σhk
= (n − 1) · √ exp − 2 i 3 N2
i
∂Nh 2 2π i∈Λ 2σihki σihk i h
h
! 2
" 2
H δjhk δjhkj σhk
− √ exp − 2 j 3 2
j
− λ. (C.28)
2 2π j∈Ω 2σ jhkj σ N
jhkj h
h
(C.29)
SV = S̄p \SU (C.30)
and we have the following approximations:
For r ∈ SU ,
! "
2
δrj 2
∂L H k δrjr kr σrk
= − √ exp − 2r r 3 2
r
− λ. (C.31)
∂Nr 2 2π 2σrjr kr σrj r kr
N r
For r ∈ SV ,
! "
∂L 1 2
δirk 2
δirki σrk
= (n − 1) · √ exp − 2 i
3 N2
i
∂Nr 2 2π i∈Λ 2σirki σirk i r
r
! 2
" 2
H δjrk j
δjrkj σrk j
− √ exp − 2 3 2
− λ. (C.32)
2 2π 2σjrkj σjrkj Nr
j∈Ωr
It is observed that determination of subsets SX and SU shares
the same condition and the two subsets can be merged, which is the
same case for SY and SV . Thus we redefine
#
2
δhj 2
h kh
δihk
SA = h |h ∈ S, 2 < min 2 i
,
σhkh /αh + σj2h kh /αjh i∈Θh σ /αi + σ 2 /αh
iki jh ki
(C.33)
SB = S\SA , (C.34)
where
Θh = {i|i ∈ S, ji = h}.
May 11, 2010 6:45 SPI-B930 9in x 6in b930-appc
Appendix C 209
Since
∂L ∂L
= =0
∂Nh ∂No
then
! " ! "
2
δhj 2 2
δoj 2
h kh
δhjh kh σhk o ko
δojo ko σok
exp − 2 3
h
= exp − o
2σhj h kh
σhj h kh
Nh2 2
2σoj o ko
3
σoj o ko
N 2
o
or
! "
2
δoj 2
δhj α2h σhj
3 2
o ko h kh h kh
δojo ko σok
exp 2 − 2 = 3 2 ,
o
(C.35)
2σoj o ko
2σhj h kh
α2o σoj o ko
δ σ
hjh kh hkh
2
2
σik σj2 k
σij i ki
= i
+ i i. (C.37)
αi T αj i T
May 11, 2010 6:45 SPI-B930 9in x 6in b930-appc
C.4.2.2. d ∈ SB
There are 2 cases for d, which are
1. d ∈ SY
2. d ∈ SV
For case 1, from (C.8), we have
! "
1
2 2
∂L δidk δidki σdk
= (n − 1) · √ exp − 2 i
3 N2
i
∂Nd 2 2π i∈Λ 2σ idki σ idki d
d
! 2
" 2
H δjdk j
δjdkj σdk j
− √ exp − 2 3 2
−λ
2 2π j∈Ω 2σjdkj σjdk j
N d
d
! "
1
2
δhdk 2
δhdkh σdk
= (n − 1) · √ exp − 2 h
3
h
2
2 2π h∈Λ∗ 2σ hdkh σ N
hdkh d
d
! "
H 2
δrdk δrdkr σdk 2
− √ exp − 2 r
3 2 −λ
r
2 2π ∗
2σ rdkr σ rdkr dN
r∈Ωd
May 11, 2010 6:45 SPI-B930 9in x 6in b930-appc
Appendix C 211
where
Λ∗d = {h|h ∈ SA , jh = d}, (C.40)
Ω∗d = {r|r ∈ SU , jr = d}. (C.41)
Since
! "
2
δhdk 2
∂L 1 δhdkh σhk
= (n − 1) · √ exp − 2 h 3 2 −λ
h
∂Nh 2 2π 2σhdkh σhdk h
N h
! "
∂L H δ2 r 2
δrdkr σrk
= − √ exp − rdk 2 3 2
r
−λ
∂Nr 2 2π 2σrdk r
σ rdkr N r
and
∂L ∂L ∂L
= = = 0,
∂Nd ∂Nh ∂Nr
then by substitution we can get
σdk
2 σdk2
Nd2 = h
2 Nh2 + 3 Nr
r 2
σhk σ rkr
h∈Λ∗d h ∗
r∈Ωd
substituting Ni = αi T , we get
σdk
2
α2d = h
2 α2h
σhk
h∈Θ∗d h
where
Θ∗d = {h|h ∈ SA , jh = d}. (C.42)
For case 2, following a similar derivation, it can be proven that
the allocation rule above still holds.
May 11, 2010 6:45 SPI-B930 9in x 6in b930-appc
Appendix D
There are several source codes for the OCBA algorithms presented
in this book, which can be downloaded from the OCBA web sites:
http://volgenau.gmu.edu/∼cchen9/ocba.html
or
http://en.wikipedia.org/wiki/Optimal Computing Budget
Allocation
This appendix only gives the computer code for the OCBA
method presented in Chapter 3 and 4. This OCBA algorithm is to
find the single best design using a minimum simulation budget. The
code runs on C or C++ platform.
This code is a self-contained program which contains the “ocba’’
subroutine and a main program. The main program calls the OCBA
subroutine and intends to allocate a computing budget of 100 addi-
tional simulation runs. If it runs successfully, it should output the
following:
213
May 15, 2010 17:19 SPI-B930 9in x 6in b930-appd
void main()
{
int i;
int ADD_BUDGET=100; /*the additional simulation
budget. It should be positive integer.*/
float s_mean[ND]={1.2, 2.1, 3.4, 4.87, 6.05};
float s_var[ND]= {3.3, 2.0, 4.5, 5.3, 6.9};
int n[ND]={12,6,5,5,4};
int an[ND];
for(i=0;i<ND;i++)
{
printf("The additional computation budget assigned to
Design %d is %ld.\n", i, an[i]);
}
}
void ocba(s_mean,s_var,nd,n,add_budget,an,type)
float *s_mean,*s_var;
May 15, 2010 17:19 SPI-B930 9in x 6in b930-appd
Appendix D 215
int nd,*n,add_budget,*an,type;
/*
This subroutine determines how many additional runs each
design will should have for next iteration of simulation.
s_mean[i]: sample mean of design i, i=0,1,..,ND-1
s_var[i]: sample variance of design i, i=0,1,..,ND-1
nd: the number of designs
n[i]: number of simulation replications of design i,
i=0,1,..,ND-1
add_budget: the additional simulation budget
an[i]: additional number of simulation replications assigned
to design i, i=0,1,..,ND-1
type: type of optimazition problem. type=1, MIN problem;
type=2, MAX problem
*/
{
int i,j;
int b, s;
int t_budget,t1_budget;
int morerun[ND],more_alloc; /* 1:Yes; 0:No */
float t_s_mean[ND];
float ratio[ND]; /* Ni/Ns */
float ratio_s,temp;
t_budget=add_budget;
for(i=0; i<nd; i++) t_budget+=n[i];
b=best(t_s_mean, nd);
s=second_best(t_s_mean, nd, b);
ratio[s]=1.0;
for(i=0;i<nd;i++)
May 15, 2010 17:19 SPI-B930 9in x 6in b930-appd
Appendix D 217
int best(t_s_mean,nd)
float *t_s_mean;
int nd;
/*This function determines the best design based on current
simulation results */
/* t_s_mean[i]: temporary array for sample mean of design i,
i=0,1,..,ND-1
nd: the number of designs */
{
int i, min_index;
min_index=0;
for(i=0;i<nd;i++)
{
if(t_s_mean[i]<t_s_mean[min_index])
{
min_index=i;
}
}
return min_index;
}
int second_best(t_s_mean,nd,b)
float *t_s_mean;
int nd;
int b;
/*This function determines the second best design based on
current simulation results*/
/* t_s_mean[i]: temporary array for sample mean of design i,
i=0,1,..,ND-1
nd: the number of designs.
b: current best design determined by function
best() */
{
int i, second_index;
if(b==0) second_index=1;
else second_index=0;
for(i=0;i<nd;i++)
May 15, 2010 17:19 SPI-B930 9in x 6in b930-appd
{
if(t_s_mean[i]<t_s_mean[second_index] && i!=b)
{
second_index=i;
}
}
return second_index;
}
May 11, 2010 6:46 SPI-B930 9in x 6in b930-refs
References
Banks, J., Carson II, J. S., Nelson, B. L. and Nicol, D. M. [2004] Discrete-Event
System Simulation, 4th edn. (Prentice Hall).
Banks, J., Carson II, J. S., Nelson, B. L. and Nicol, D. M. [2010] Discrete Event-
System Simulation, 5th edn. (Prentice Hall).
Barton, R. R. and Meckesheimer, M. [2006] “Metamodel-based simulation opti-
mization,” in Handbooks in Operations Research and Management Science:
Simulation, eds. Henderson, S. G. and Nelson, B. L. (Elsevier) Chapter 18,
pp. 535–574.
Bechhofer, R. E., Santner, T. J. and Goldsman, D. M. [1995] Design and Analysis
of Experiments for Statistical Selection, Screening, and Multiple Comparisons
(John Wiley & Sons).
Berger, P. D. and Maurer, R. E. [2002] Experimental Design with Applications
in Management, Engineering, and the Sciences (Duxbury).
Bernardo, J. M. and Smith, A. F. M. [1994] Bayesian Theory (Wiley, New York).
Blanchet, J., Liu, J. and Zwart, B. [2007] “Large deviations perspective on ordinal
optimization of heavy-tailed systems,” Proc. 2007 Winter Simulation Conf.,
pp. 489–494.
Branke, J., Chick, S. E. and Schmidt, C. [2007] “Selecting a selection procedure,”
Manag. Sci. 53, 1916–1932.
Brantley, M. W., Lee, L. H., Chen, C. H. and Chen, A. [2008] “Optimal sampling
in design of experiment for simulation-based stochastic optimization,” Proc.
2008 IEEE Conf. on Automation Science and Engineering, Washington, DC,
pp. 388–393.
Bratley, P., Fox, B. L. and Schrage, L. E. [1987] A Guide to Simulation, 2nd ed.
(Springer-Verlag).
Butler, J., Morrice, D. J. and Mullarkey, P. W. [2001] “A multiple attribute utility
theory approach to ranking and selection,” Manag. Sci. 47(6), 800–816.
Chen, C. H. [1995] “An effective approach to smartly allocate computing budget
for discrete event simulation,” Proc. of the 34th IEEE Conf. on Decision and
Control, pp. 2598–2605.
219
May 11, 2010 6:46 SPI-B930 9in x 6in b930-refs
Chen, C. H. [1996] “A lower bound for the correct subset-selection probability and
its application to discrete event system simulations,” IEEE Trans. Automat.
Contr. 41, 1227–1231.
Chen, H. C., Chen, C. H., Dai, L. and Yücesan, E. [1997] “New development
of optimal computing budget allocation for discrete event simulation,” Proc.
1997 Winter Simulation Conf., pp. 334–341.
Chen, C. H., Chen, H. C., Yücesan, E. and Dai, L. [1998] “Computing budget
allocation for simulation experiments with different system structures,” Proc.
1998 Winter Simulation Conf., pp. 735–741.
Chen, C. H., Fu, M. and Shi, L. [2008] “Simulation and Optimization,” in Tuto-
rials in Operations Research (Informs, Hanover, MD), pp. 247–260.
Chen, C. H. and He, D. [2005] “Intelligent simulation for alternatives comparison
and application to air traffic management,” J. Syst. Sci. Syst. Eng. 14(1),
37–51.
Chen, C. H., He, D. and Fu, M. [2006] “Efficient dynamic simulation allocation
in ordinal optimization,” IEEE Trans. Automat. Contr. 51(12), 2005–2009.
Chen, C. H., He, D., Fu, M. and Lee, L. H. [2008] “Efficient simulation bud-
get allocation for selecting an optimal subset,” Info. J. Comput. 20(4),
579–595.
Chen, C. H., Kumar, V. and Luo, Y. C. [1999] “Motion planning of walking robots
in environments with uncertainty,” J. Robot. Syst. 16(10), 527–545.
Chen, C. H., Lin, J., Yücesan, E. and Chick, S. E. [2000] “Simulation budget allo-
cation for further enhancing the efficiency of ordinal optimization,” J. Discrete
Event Dynam. Syst. Theor. Appl. 10, 251–270.
Chen, C. H., Wu, S. D. and Dai, L. [1999] “Ordinal comparison of heuristic algo-
rithms using stochastic optimization,” IEEE Trans. Robot. Automat. 15(1),
44–56.
Chen, C. H. and Yücesan, E. [2005] “An alternative simulation budget allocation
scheme for efficient simulation,” Int. J. Simulat. Process Model. 1(1/2), 49–57.
Chen, C. H., Yücesan, E., Dai, L. and Chen, H. C. [2010] “Efficient computation
of optimal budget allocation for discrete event simulation experiment,” IIE
Trans. 42(1), 60–70.
Chen, E. J. and Kelton, W. D. [2003] “Inferences from indifference-zone selection
procedures,” Proc. 2003 Winter Simulation Conf., pp. 456–464.
Cheng, R. C. H. [1982] “Antithetic variate methods for simulation of processes
with peaks and troughs,” Eur. J. Oper. Res. 33, 229–237.
Cheng, R. C. H. [1984] “The use of antithetic variates in computer simulations,”
J. Oper. Res. Soc. 15, 227–236.
Chew, E. P., Lee, L. H., Teng, S. Y. and Koh, C. H. [2009] “Differentiated service
inventory optimization using nested partitions and MOCBA,” Comput. Oper.
Res. 36(5), 1703–1710.
Chick, S. E. [1997] “Selecting the best system: A decision-theoretic approach,”
Proc. 1997 Winter Simulation Conf., pp. 326–333.
Chick, S. E. [2003] “Expected opportunity cost guarantees and indifference-zone
selection procedures,” Proc. 2003 Winter Simulation Conf., pp. 465–473.
May 11, 2010 6:46 SPI-B930 9in x 6in b930-refs
References 221
Chick, S. E., Branke, J. and Schmidt, C. [2007] “New greedy myopic and existing
asymptotic sequential selection procedures: Preliminary empirical results,”
Proc. 2007 Winter Simulation Conf., pp. 289–296.
Chick, S. and Inoue, K. [2001a] “New two-stage and sequential procedures for
selecting the best simulated system,” Oper. Res. 49, 1609–1624.
Chick, S. and Inoue, K. [2001b] “New procedures to select the best simulated
system using common random numbers,” Manag. Sci. 47, 1133–1149.
Chick, S. E. and Gans, N. [2006] “Simulation selection problems: Overview of an
economic analysis,” Proc. 2006 Winter Simulation Conf., pp. 279–286.
Dai, L. and Chen, C. H. [1997] “Rate of convergence for ordinal comparison of
dependent simulations in discrete event dynamic systems,” J. Optim. Theor.
Appl. 94(1), 29–54.
Dai, L., Chen, C. H. and Birge, J. R. [2000] “Large convergence properties of
two-stage stochastic programming,” J. Optim. Theor. Appl. 106(3), 489–510.
DeGroot, M. H. [1970] Optimal Statistical Decisions (McGraw-Hill, New York).
Dudewicz, E. J. and Dalal, S. R. [1975] “Allocation of observations in ranking
and selection with unequal variances,” Sankhya B37, 28–78.
Frazier, P. and Powell, W. B. [2008] “The knowledge-gradient stopping rule for
ranking and selection,” Proc. 2008 Winter Simulation Conf., pp. 305–312.
Fu, M. [2002] “Optimization for simulation: Theory vs. practice,” Info. J. Comput.
14(3), 192–215.
Fu, M. C. [2006] “Gradient estimation,” in Handbooks in Operations Research and
Management Science: Simulation, eds. Henderson, S. G. and Nelson, B. L.
(Elsevier), Chapter 19, pp. 575–616.
Fu, M. C. [2007] “Are we there yet? the marriage between simulation & optimiza-
tion,” OR/MS Today, pp. 16–17.
Fu, M. C., Hu, J. Q., Chen, C. H. and Xiong, X. [2007] “Simulation allocation
for determining the best design in the presence of correlated sampling,” Info.
J. Comput. 19(1), 101–111.
Fu, M. C., Hu, J. and Marcus, S. I. [2006] “Model-based randomized methods
for global optimization,” Proc. 17th Int. Symp. on Mathematical Theory of
Networks and Systems, 355–363.
Fu, M, Chen, C. H. and Shi, L. [2008] “Some topics for simulation optimization,”
Proc. 2008 Winter Simulation Conf., Miami, FL, pp. 27–38.
Fu, M. C. and Hu, J. Q. [1997] Conditional Monte Carlo: Gradient Estimation
and Optimization Applications (Kluwer Academic Publishers).
Fonseca, C. M. and Fleming, P. J. [1995] “An overview of evolutionary algorithms
in multiobjective optimization,” Evol. Comput. 3(1), 1–16.
Garvels, M. J. J., Kroese, D. P. and Van Ommeren, J.-K. C. W. [2002] “On the
importance function in splitting simulation,” Eur. Trans. Telecommunications
13(4), 363–371.
Glasserman, P. [1991] Gradient Estimation via Perturbation Analysis (Kluwer
Academic, Boston, Massachusetts).
Glasserman, P., Heidelberger, P., Shahabuddin, P. and Zajic, T. [1999] “Multilevel
splitting for estimating rare event probabilities,” Oper. Res. 47(4), 585–600.
May 11, 2010 6:46 SPI-B930 9in x 6in b930-refs
References 223
Kim, S. H. and Nelson, B. L. [2003] “Selecting the best system: Theory and
methods,” Proc. 2003 Winter Simulation Conf., pp. 101–112.
Kim, S.-H. and Nelson, B. L. [2006] “Selecting the best system,” in Handbooks in
Operations Research and Management Science: Simulation, eds. Henderson,
S. G. and Nelson, B. L. (Elsevier), Chapter 18.
Kim, S. H. and Nelson, B. L. [2007] “Recent advances in ranking and selection,”
Proc. 2007 Winter Simulation Conf., pp. 162–172.
Law, A. M. and Kelton, W. D. [2000] Simulation Modeling and Analysis, 3rd ed.
(MacGraw-Hill).
Lee, L. H., Chew, E. P., Teng, S. Y. and Goldsman, D. [2004] “Optimal computing
budget allocation for multi-objective simulation models,” Proc. 2004 Winter
Simulation Conf., pp. 586–594.
Lee, L. H., Chew, E. P. and Teng, S. Y. [2007] “Finding the Pareto set for multi-
objective simulation models by minimization of expected opportunity cost,”
Proc. 2007 Winter Simulation Conf., pp. 513–521.
Lee, L. H., Chew, E. P., Teng, S. Y. and Chen, Y. K. [2008] “Multi-objective
simulation-based evolutionary algorithm for an aircraft spare parts allocation
problem”, Eur. J. Oper. Res., 189(2), 476–491.
Lee, L. H., Chew, E. P., Teng, S. Y. and Goldsman, D. [2010] “Finding the Pareto
set for multi-objective simulation models,” IIE Tran., in press.
Lehman, E. L. [1996] “Same concepts of dependence,” Ann. Math. Stat. 37(5),
1137–1153.
Kleijnen, J. P. C. [2008] Design and Analysis of Simulation Experiments (Springer,
New York).
Koenig, L. W. and Law, A. M. [1985] “A procedure for selecting a subset of size m
containing the l best of k independent normal populations,” Communication
in Statistics — Simulation and Communication 14, 719–734.
Kushner, H. J. and Yin, G. G. [2003] Stochastic Approximation Algorithms and
Applications, 2nd ed. (Springer-Verlag).
L’Ecuyer, P. [1994] “Efficiency improvement and variance reduction,” Proc. 26th
Conf. on Winter Simulation, pp. 122–132.
L’Ecuyer, P., Demers, V. and Tuffin, B. [2006] “Splitting for rare-event simula-
tion,” Proc. 2006 Winter Simulation Conf., pp. 137–148.
Luo, Y. C., Guignard-Spielberg, M. and Chen, C. H. [2001] “A hybrid approach
for integer programming combining genetic algorithms, linear programming
and ordinal optimization,” J. Intell. Manuf. 12(5–6), 509–519.
Matejcik, F. J. and Nelson, B. L. [1995] “Two-stage multiple comparisons with
the best for computer simulation,” Oper. Res. 43, 633–640.
Nelson, B. L. [1990] “Control-variates remedies,” Oper. Res. 38.
Nelson, B. L., Swann, J., Goldsman, D. and Song, W. M. [2001] “Simple proce-
dures for selecting the best simulated system when the number of alternatives
is large,” Oper. Res. 49, 950–963.
Pflug, G. C. [1996] Optimization of Stochastic Models (Kluwer Academic).
Pritsker, A. [1986] Introduction to simulation and SLAM II (John Wiley and
Sons, New York).
May 11, 2010 6:46 SPI-B930 9in x 6in b930-refs
Index
225
May 11, 2010 6:45 SPI-B930 9in x 6in b930-Index
Index 227