Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
SEARCH CRITERIA
KEVIN CHRISTIAN
2016/2017
Enhancing Kriging Based Optimization Through New Search Criteria
Submitted by
Kevin Christian
2016/2017
Summary
namely the Two Stage Sequential Optimization (TSSO) algorithm developed by Quan et
al. (2013). Two ranking and selection procedures are explored in this project. The
procedures are Stop and Go with fixed first stage sample size (SaG-F) and Stop and Go
with variable first stage sample size (SaG-V). Each of these procedures are incorporated to
SaG-F and SaG-V, thus resulting in two new algorithms TSSO with SaG-F and TSSO
with SaG-V. Three test functions are used in this project to test the two new algorithms
and compare their results with the original TSSO algorithm. In each function, different
levels of noise and budget are used to test the algorithms. The results of this project are
that TSSO with SaG-F is a promising algorithm that may be used in the future for kriging-
based optimization while TSSO with SaG-V does not seem to be a very promising
algorithm. Future research may explore the settings of probability of correct selection
(PCS) and indifference zone (IZ) parameter of SaG-F and SaG-V, and the first stage
I
Acknowledgement
I would like to give all glory and praise to Lord Jesus Christ, in whom all things
are held together, because all things were created through him and for him. It was through
his providence that I could complete this project. I would like to express my gratitude to
Systems Engineering and Management, whose guidance, insight, and expertise have been
invaluable for the completion of this project. I would like to thank Ms. Meng Qun,
researcher at National University of Singapore, who have provided me help with the
technical aspects of this project. I would also like to give credit to Mr. Stefanus Lie, my
friend, who has helped me with the unfamiliar mathematical formulations in the journal
papers. Lastly, I would like to thank my family and friends for the continued support
II
Table of Contents
Summary ................................................................................................................................I
Acknowledgement ............................................................................................................... II
Table of Contents ................................................................................................................ III
List of Figures ..................................................................................................................... IV
List of Tables ....................................................................................................................... V
Chapter 1. Introduction ......................................................................................................... 1
Chapter 2. Background ......................................................................................................... 2
Chapter 3. Methodology ....................................................................................................... 9
Chapter 4. Results ............................................................................................................... 20
Chapter 5. Discussion ........................................................................................................ 27
Chapter 6. Conclusion and Recommendation ..................................................................... 31
References ........................................................................................................................... 33
Appendices .......................................................................................................................... 35
III
List of Figures
IV
List of Tables
V
Chapter 1. Introduction
surrogates for the costly simulation response functions (Barton & Meckesheimer, 2006).
In general, there are five different types of metamodels, namely, response surface,
regression spline, kriging, radial basis function and neural network metamodels (Barton &
solution. Some of the kriging-based methods for simulation optimization are minimum
quantile (MQ) (Picheny, Wagner, & Ginsbourger, 2013), sequential kriging optimization
(SKO) (Huang, Allen, Notz, & Zeng, 2006), correlated knowledge-gradient (CKG)
(Frazier, Powell, & Dayanik, 2009), expected quantile improvement (EQI) (Picheny,
(Quan, Yin, Ng, & Lee, 2013) and extended two-stage sequential optimization (eTSSO)
(Liu, Pedrielli, & Ng, 2014). Every method usually has these steps, namely, search,
A research which compared the performances of all the six kriging based methods
mentioned above was conducted by Jalali, Van Nieuwenhuyse, and Picheny (2016). One
of the conclusions states that TSSO simulates the most promising alternatives but usually
fails to identify them at the end (Jalali et al., 2016). In this project, we are going to explore
the possibility of modifications of these steps to improve TSSO performance by using two
ranking and selection (R&S) procedures, namely Stop and Go with fixed first-stage
sample size (SaG-F) and Stop and Go with variable first-stage sample size (SaG-V).
1
Chapter 2. Background
Sequential Optimization (TSSO), and the two SaG procedures mentioned in Chapter 1
will be explained.
Assume that we would like to find the solution that minimizes some goal function
𝑓(x): min 𝑓(x) , where 𝑓 ∶ Θ → ℝ and x = (𝑥1 , 𝑥2 , … , 𝑥𝑑 ) (with d the dimension of the
x∈Θ
solution space). This goal function cannot be directly observed, and stochastic simulation
model to be employed to provide an estimation: it means we can only look at the noisy
observations 𝑓̃𝑗 (x𝑖 ) = 𝑓(x𝑖 ) + 𝜀𝑗 (x𝑖 ), where 𝑓̃𝑗 (x𝑖 ) represents the observed goal value in
the jth simulation replication at point xi. We have a heterogeneous noise, 𝜀𝑗 (x𝑖 ) which has
mean zero, and its variance depends on xi. We usually estimate the value of 𝑓(x𝑖 ) by
𝑛 𝑓̃𝑗 (x𝑖 )
̅ 𝑖) = ∑ 𝑖
performing ni simulation replications: 𝑓(x .
𝑗=1 𝑛𝑖
techniques that can handle this problem with low problem dimensionality (d ≤ 20)
optimization algorithms have been proposed that can handle heterogeneous noise, based
on stochastic Kriging models (see Cressie (1993), Staum (2009), Ankenman et al. (2010),
2
In general, kriging-based simulation optimization methods consist of these steps
1. Initial Fit: Fit an initial kriging metamodel based on a set of n0 design points: xi,
𝑓 (̅ x𝑖 ), 𝑉𝑎𝑟
̂ [𝑓(̅ x𝑖 )] for i = 1, …, n0
2. Search step: This is the step where the algorithm chooses a point (infill point),
simulates it for some number of replications to obtain the mean and variance, and
then refits the kriging model with the new point included.
points already sampled to get a more accurate measure of the mean in those points.
4. Identification step: The algorithm looks at all the simulated points and picks the
Figure 2.1 Typical Steps in Kriging Based Optimization (Jalali et al., 2016)
3
2.2 Two Stage Sequential Optimization (TSSO)
fit the model, TSSO uses Modified Nugget Effect Kriging (MNEK) which is suitable for
simulation with heteroscedastic variance (Yin et al. 2011). TSSO algorithm consists of
In the search step, the following modified expected improvement (MEI) function is
used:
fmin is the predicted response at the sampled point with the lowest mean. 𝑓𝑃∗ (x) is a normal
random variable with mean given by the MNEK predictor at x and variance given by the
In the replication stage, the TSSO uses the optimal computing budget allocation
(OCBA) which allocates most of the replication budget to the sampled points with low
sample mean and high variance (Chen et al., 2000). The explanation below shows how the
replication budgets are allocated. Assuming there are n sampled points, with each point xi
having a sample mean given by 𝑌̅i, sample variance 𝜎̂𝜀 (x𝑖 ) and replication number Ri,
4
𝑛
𝑁𝑖2
𝑁𝑏 = 𝜎̂𝜀 (x𝑏 )√ ∑
𝜎̂𝜀2 (x𝑖 )
𝑖=1,𝑖≠𝑏
Where Ni is the number of replications allocated to point xi, xb is the point with the lowest
sample mean and ∆𝑏,𝑖 is the difference between the lowest sample mean and the sample
In the identification step, the sampled point with the lowest sample mean is chosen
In the paper by Quan et al. (2013), the performance of TSSO is only compared
with the EQI method. To get a clearer comparison of how TSSO stands among the
Stop and Go is a ranking and selection (R&S) procedure used for evaluating
introduced by Hong and Nelson (2007). The SaG will select the best system by using a
indifference zone parameter (IZ) need to be specified. The selection procedures select the
best system with a Probability of Correct Selection (PCS) greater than or equal to 1 − α
from a given set of alternative systems whenever the true mean performance of the best
system in the set is at least δ greater than the true mean of the second-best system. The IZ
performance that it is important to detect. PCS and IZ parameters are user specified. To
5
understand the SaG better, let us consider a generic system generating algorithm (SGA)
Step 0. We start with k0 simulated systems, π1, π2, . . . , πk0 , and k0 ≥ 2. Let i and Ki denote
the iteration count and the total number of alternative systems generated through iteration
Ki−1 + ki.
Step 2. Select the best system in all Ki alternatives π1, π2, . . . , πKi .
From the description above, the SaG should be employed in step 2 of the SGA to
select the best system. Detailed procedures of two different types of SaG can be found in
Input: If the iteration counter i = 0, then set I = {π1, π2, . . . , πk1} and K−1 = 0; otherwise,
set I = {π1, π2, . . . , πKi−1, πKi−1+1, πKi−1+2, . . . , πKi−1+ki}, and input the overall sample sizes,
overall sample means and first-stage sample variances of systems π1, π2, . . . , πKi−1
6
̂𝑖∗ and the overall sample sizes, overall sample means and first-
Return: The best system 𝜋
Procedure:
Setup: Select the PCS 1/2 < 1 −α < 1, IZ parameter δ > 0, and first-stage sample size n0
≥ 2. Let λ = δ/2.
Initialization: For all p = Ki−1 + 1,Ki−1 + 2 . . . ,Ki, take n0 observations from πp, calculate
Computing parameters: Let βi = α/(Ki − 1). For any πp and πq in I and p ≠ q, calculate:
−2
𝜂𝑖(𝑛0 − 1) [ 𝑆𝑝2 (𝑛0 ) + 𝑆𝑞2 (𝑛0 )]
apq = , where ηi = (2𝛽𝑖)𝑛0−1 - 1
2𝛿
̅̅̅̅
𝑋𝑝(rp). Set r = r + 1 and go back to Elimination.
7
2.3.2 SaG with variable first-stage sample size (SaG-V)
Input: Systems π1, π2, . . . , πKi and all sample information on systems π1, π2, . . . , πKi−1. If
iteration counter I equals zero, let K−1 = 0 and let the identities and all sample information
Return: System 𝜋̂𝑖∗ and all the sample information on systems π1, π2, . . . , πKi .
Procedure:
Setup: Select the PCS 1/2 < 1 −α < 1, IZ parameter δ >0 and first-stage sample size
Initialization: Take max{0, n0(Ki) − rp} observations from πp and set rp = rp + max{0,
n0(Ki) − rp} for all p = 1, 2, . . . ,Ki−1; also take n0(Ki) observations from πp and set rp =
n0(Ki) for all p = Ki−1 + 1, . . . ,Ki. Calculate the first-stage sample mean ̅̅̅̅
𝑋𝑝(n0(Ki)) and the
first-stage sample variance 𝑆𝑝2 (n0(Ki)) for all p = 1, 2, . . . ,Ki. Let r = n0(Ki) and I = {π1,
π2, . . . , πKi}.
Computing parameters: Same as the step in SaG-F, but using n0(Ki) instead of n0.
8
Chapter 3. Methodology
This chapter is divided into two parts. The first part describes the modifications we
make on the TSSO algorithm. Two algorithms will be presented in this part. The second
part is the evaluation of the algorithms by the use of test functions and scenarios to
The first new TSSO algorithm is developed by replacing the OCBA in the
replication step with SaG-F, while the second new TSSO algorithm is created by replacing
the OCBA with SaG-V. Apart from these changes, the algorithms still use MNEK to build
This is how SaG works in the TSSO. After the search step, SaG procedure will be
employed on all the sampled points. The SaG selects the best point based on a user
specified probability of correct selection (PCS) and indifference zone (IZ) parameter. In a
minimization problem, the PCS is the probability that a system or a point that is selected is
the best system or the best point. The PCS is specified as any number between 0.5 to 1
(Hong & Nelson, 2007). The higher the PCS, the more replications in each iteration will
be made, thus the algorithm will explore less infill points, and vice versa. The IZ
specified as the difference between the means of the best and second best points, Δ,
however, due to the lack of knowledge about Δ, a more conservative IZ parameter may be
chosen, such as a positive number close to zero (Fan & Hong, 2014). The higher the IZ
9
parameter, the less replications in each iteration will be made, thus the algorithm will
The SaG procedure may run for several iterations until it finds the best point
among the sampled points. The SaG procedure will eliminate the points that are not
promising, leaving behind the more promising points. Promising points are mainly the
points that have low sample mean and points with high sample variance. The eliminated
points are the points that are clearly not the minimum points, in this case, mainly points
with high sample mean and low sample variance. One more replication will be performed
on each sample points that are not eliminated. The replications are required to further
evaluate the uneliminated points in order to select one sampled point as the global
optimum. After these replications are performed, the remaining points will be evaluated
again and the sampled points that are not promising will be eliminated. This cycle will go
on until only one point remains, this point is the current best point. The current best point
is the fmin in the next iteration of the MEI. In summary, these are the parameters and steps
Parameter Definition
n0(Ki) First-stage sample size function (For TSSO with SaG-V only)
10
Ki Total number of simulated points at iteration i
λ λ = δ/2
Step 1: Initialization: Run a A size space filling design, with n0 replications allocated to
Step 2: Validation: Fit a MNEK response model to the set of sample means. Use leave-
one-out cross validation (LOOCV) to check if the initial MNEK model fit is satisfactory.
Step 3: Set i = 1,
While R < T
Step 3a: Sample a new point that maximizes the modified Expected Improvement
When i=1, fmin is the predicted response at the sampled point with the lowest mean. When
i> 1, fmin is determined by SaG procedure in Step 3b. 𝑓𝑃∗ (x) is a normal random variable
with mean given by the MNEK predictor at x and variance given by the predictor’s spatial
prediction uncertainty.
Set R = R + n0.
11
Step 3b: Use SaG-F. (Replication Step)
Initialization: Set I = {x1, x2, . . . , xKi}. For all p = Ki−1 + 1, Ki−1 + 2 . . . ,Ki, take n0
stage sample variance 𝑆𝑝2 (n0), and set rp = n0, where rp is the number of
calculate:
−2
𝜂𝑖(𝑛0 − 1) [ 𝑆𝑝2 (𝑛0 ) + 𝑆𝑞2 (𝑛0 )]
apq = , where ηi = (2𝛽𝑖)𝑛0−1 - 1
2𝛿
Stopping rule: If |I| = 1, then let x̂𝑖∗ be the system in I, set fmin = 𝑓(x̂𝑖∗ ) and go to
Step 3c. Else, if R≥T, go to Step 3c. Otherwise, for every xp ∈ I such that rp = r ,
̅̅̅̅(rp). Set r = r + 1, R
take an observation of system xp, let rp = rp + 1, and update 𝑌𝑝
Step 3c: Fit a MNEK response surface to the set of sample means. i = i + 1
The point of the global optimum at the end will be the best point selected by the SaG-F.
Step 1: Initialization: Run a A size space filling design, with n0(Ki) replications allocated
one-out cross validation (LOOCV) to check if the initial MNEK model fit is satisfactory.
Step 3: Set i = 1,
While R < T
Step 3a: Sample a new point that maximizes the modified Expected Improvement
When i=1, fmin is the predicted response at the sampled point with the lowest mean. When
i> 1, fmin is determined by SaG procedure in Step 3b. 𝑓𝑃∗ (x) is a normal random variable
with mean given by the MNEK predictor at x and variance given by the predictor’s spatial
prediction uncertainty.
Set R = R + n0(Ki)
max{0, n0(Ki) − rp} for all p = 1, 2, . . . ,Ki−1; also take n0(Ki) observations from xp
and set rp = n0(Ki) for all p = Ki−1 + 1, . . . ,Ki. Calculate the first-stage sample mean
̅̅̅̅(n0(Ki)) and the first-stage sample variance 𝑆𝑝2 (n0(Ki)) for all p = 1, 2, . . . ,Ki.
𝑌𝑝
Computing parameters: Same as the step in TSSO with SaG-F, but using n0(Ki)
instead of n0
13
Stopping rule: Same as the step in TSSO with SaG-F
Step 3c: Fit a MNEK response surface to the set of sample means. i = i + 1
The point of the global optimum at the end will be the best point selected by the SaG-V.
Selecting the n0(Ki) for TSSO with SaG-V is a complicated task. An ideal n0(Ki) is
one that minimizes the expected total number of observations needed to make the
selection decision (Hong & Nelson, 2007). However, this is an almost impossible task
because it requires knowing the true means and variances of all generated alternatives
before starting the experiment. Hong and Nelson (2007) proposes conditions for choosing
n0(Ki), which are, the n0(Ki) increases at the rate of log(Ki) and E[N(Ki)] increases at the
rate of Ki log(Ki).
While the OCBA implemented in the original TSSO maximizes the approximate
probability of correct selection (Chen et al., 2000), it has no statistical guarantee of correct
selection of best point at each iteration. The advantage of the two TSSO modifications is
that it will find the best point with a statistical guarantee of correct selection at each
iteration (Hong & Nelson, 2007). This aims to provide a more accurate fmin at each
iteration. If the selection of fmin is more accurate, it will improve the selection of new point
Moreover, the SaG procedures will make replications in points that are potential
minimum, mainly points with low sample mean and high sample variance, ignoring points
that are clearly not potential minimum, which are mainly points with high sample mean
and low sample variance. In this respect, SaG procedures are similar to OCBA procedure
in the original TSSO (Quan et al., 2013). These replications in points that are potential
minimum will help in estimating the Kriging parameters which will help to fit the Kriging
model.
14
3.2 Evaluation of Algorithms
To evaluate the two algorithms, comparison between TSSO, TSSO with SaG-F,
and TSSO with SaG-V is made. To conduct the comparison, test functions and scenarios
are implemented.
The algorithms are applied to minimize three test functions namely, Rescaled
Branin, Six-hump camel-back, and Hartmann-3. The objective is to find the global
minima of these functions. Detailed descriptions of the functions can be found in Table 1.
For the candidate points, we take 2500 points for each function. Figure 3.1 and Figure 3.3
are the illustrations of Rescaled Branin and Six-hump camel-back functions respectively.
Figure 3.2 and Figure 3.4 are their candidate points and contour plots. (𝑥 ∗ , 𝑓(𝑥 ∗ )) are
denoted by an arrow.
Figure 3.1 Rescaled Branin Figure 3.2 Candidate Points and Contour Plot
15
Figure 3.3 Six-Hump Camel-back Figure 3.4 Candidate Points and Contour Plot
As seen from the figures above, the global minimum of Branin lies on a large flat
valley while Six-hump camel-back’s global minimum lies within a small valley. Branin
has two local minima and one global minimum while Six-hump camel-back has six local
Szegö (1978) 2
1 5.1𝑥̅ 12 5𝑥̅ 1
𝑓(𝑥1 , 𝑥2 ) = [(𝑥2 − + − 6) +
51.95 4𝜋 2 4𝜋
10
(10 − ) 𝑐𝑜𝑠(𝑥̅1 ) − 44.81], 𝑥̅1 = 15𝑥1 − 5,
8𝜋
16
Six-hump Dixon and dimension = 2
4𝑥24 , −2 ≤ 𝑥1 ≤ 2 𝑎𝑛𝑑 − 1 ≤ 𝑥2 ≤ 1
Optimization
Test Problems
(2013)
0 ≤ 𝑥1 ≤ 1, 0 ≤ 𝑥2 ≤ 1, 𝑎𝑛𝑑 0 ≤ 𝑥3 ≤ 1
𝑓(𝑥 ∗ ) = −3.86278
For the initial design, we follow the suggestions of Jones et al. (1998): A =
10×dimension, where A is the number of initial points. Thus, the initial points for rescaled
Branin and Six-hump camel-back functions are 20 for each function, while there are 30
We test our algorithms using low and high replication budgets; this refers to the
replication budget available after simulating the A initial points, for performing the search
and replication steps. For the low budget scenario, a total of 550 replications are available,
while for the high budget scenario, a total of 2750 replications are available (Jalali et al.,
17
2016). For TSSO the number of replications for every iteration is 55 for low budget and
110 for high budget. For TSSO with SaG-F and TSSO with SaG-V there is no fix number
of replications in each iteration due to the nature of SaG procedure that will keep making
replications until the best point is selected. For the TSSO with SaG-F and TSSO with
SaG-V we set the default PCS to 0.95 and IZ parameter to 0.1. Moreover, for light noise
we add another setting for IZ parameter to 0.05 to allow for more replications in each
iteration and for heavy noise we add another setting where the IZ parameter is 0.5 to
explore more infill points. For the replication stage of TSSO with SaG-V we set the first
𝐾
stage sample-size function to be: 𝑛0 (𝐾𝑖 ) = 𝑛0 log ( 2𝑖 ) /log(5), where n0 is the initial first
stage sample size and Ki is the number of sampled points at iteration i. Moreover, we have
100 macroreplications are taken for the rescaled Branin and Six-hump camel-back
Let 𝑦 be the final best function value identified by the algorithm and 𝑦 ∗ be the true
18
minimum. Let 𝑥(𝑘) be the best solution found by the algorithm in the 𝑘th dimension and
The first performance measure is 𝑦 − 𝑦 ∗ which is the difference between the final
best function value identified by the algorithm in one and the true minimum in one
macroreplication. This value can be either positive or negative. The closer to zero the
the estimated and the true optimum location in one macroreplication. The lower the value,
We would then compare the mean and standard deviation of these performance
measures from all macroreplications for every scenario in every function. T-Test at 5%
Lastly, the third performance measure is the average time (in seconds) needed for
one microreplication of every algorithm for the three functions and four settings, this is
19
Chapter 4. Results
The simulation results for the 3 functions and 4 settings of TSSO, TSSO with SaG-
F, and TSSO with SaG-V are shown below. The mean and standard deviations for the first
two performance measures of TSSO with SaG-F and TSSO with SaG-V are colored.
Green means it performs better than TSSO at 5% significance level, red means it performs
worse than TSSO at 5% significance level, while yellow means the T-test is inconclusive
at 5% significance level.
20
Table 4.2 Results for Rescaled Branin Heavy Noise-Low Budget
21
Table 4.4 Results for Rescaled Branin Heavy Noise-High Budget
22
Table 4.6 Results for Six-hump Camel-back Heavy Noise-Low Budget
23
Table 4.8 Results for Six-hump Camel-back Light Noise-Low Budget
24
Table 4.10 Results for Hartmann-3 Heavy Noise-Low Budget
25
Table 4.12 Results for Hartmann-3 Heavy Noise-High Budget
26
Chapter 5. Discussion
This chapter is divided into four sections. The first to third section discusses the
performances of the algorithms in every test function. The last section discusses the
performances of the algorithms across functions. In this discussion, the term ‘better’ that
we are going to use to compare the algorithms means that either the algorithm’s 𝑦 − 𝑦 ∗ or
|𝑥 − 𝑥 ∗ | performs better than TSSO at 5% significance level while the other performance
significance level.
Except for the Light Noise and Low-Budget, there is at least one setting of TSSO
with SaG-F (either IZ=0.1, IZ = 0.5 or IZ = 0.05) which performs better than TSSO.
Whereas for the TSSO with SaG-V, there is mostly no significant difference from the
TSSO except for the Heavy Noise-Low Budget setting. Moreover, the time taken by
TSSO with SaG-F is generally the shortest among the three algorithms. From this we may
conclude that TSSO with SaG-F looks most promising as improvements to the TSSO in
TSSO with SaG-F performs better than TSSO in the light noise cases, although for
some IZ parameters, TSSO with SaG-F performs worse than TSSO. TSSO outperforms
both TSSO with SaG-F and TSSO with SaG-V in the heavy noise cases, while also
performing better than TSSO with SaG-V in the light noise cases. Similar to the
27
performance in rescaled Branin function, TSSO with SaG-F generally performs the fastest
in Six-hump camel-back function. From this we may conclude that TSSO with SaG-V
performs the worst in the Six-hump camel-back, while TSSO with SaG-F is promising for
Except for the Light Noise-Low Budget scenario, TSSO with SaG-F has at least
one setting in each scenario that outperforms TSSO. For the heavy noise case, TSSO with
SaG-F clearly outperforms TSSO in both 𝑦 − 𝑦 ∗ and |𝑥 − 𝑥 ∗ |. SaG-V has at least one
setting that performs better than TSSO in the heavy noise case. The time taken for TSSO
with SaG-F is also generally the shortest. In conclusion, TSSO with SaG-F looks
promising as an improvement of TSSO in this function except for the Light Noise-Low
Budget.
TSSO with SaG-F performs better than TSSO in the heavy noise cases in rescaled
Branin and Hartmann-3. A possible explanation is that TSSO with SaG-F selected better
infill points in every iteration. The fmin that is predicted by the SaG-F has a statistical
guarantee of correct selection, this helps the modified EI criterion to select a better point.
Moreover, for each iteration, there is generally more replication budget used, so this helps
to fit a more accurate MNEK model at each iteration, especially with heavy noise where
more replications are needed, resulting in better selection of infill points. This comes at
the expense of generally fewer total infill points in TSSO with SaG-F. However, in these
28
cases, selecting better infill points results in a better performance than exploring more
infill points.
TSSO with SaG-F performs worse than TSSO in the six-hump camel-back
function for heavy noise cases. This may be due to the complexity of six-hump camel-
back function which has more local minima (six local minima) than Branin and
Hartmann-3 (2 and 4 respectively). TSSO with SaG-F which does not have a fixed
replication budget probably gets trapped in the local minima more easily than TSSO
which has a fixed replication budget in each iteration, thus many replications performed
by TSSO with SaG-F may have been wasted in the local minima, especially in the
presence of heavy noise. Moreover, TSSO with SaG-F generally has fewer infill points
than TSSO. In a function where there are many local minima, there is a need to do more
exploration of infill points to prevent the algorithm from getting trapped in one of the
local minima.
TSSO with SaG-V seems not very promising in all functions, except for the heavy
noise cases in Hartmann-3 and heavy noise-low budget in rescaled Branin. A possible
explanation for the better performances in some of the cases is similar to the explanation
of TSSO with SaG-F, which is the TSSO with SaG-V selects better infill points than
TSSO.
However, the generally not very promising performances of TSSO with SaG-V
may be caused by the unnecessary replications in points that are not promising. As seen in
section 3.1, additional replications may be added to unpromising points when the first
stage sample size, n0(Ki), increases. These may cause computation budget to be wasted on
points that are not promising, while these budgets may be better used for performing
29
replications in more promising points or in the search step. Thus, leading to suboptimal
TSSO with SaG-V is not as promising as TSSO with SaG-F across all functions,
because, in general, where TSSO with SaG-V performs better than TSSO, TSSO with
SaG-F also performs better. Moreover, TSSO with SaG-V performs better in less number
30
Chapter 6. Conclusion and Recommendation
In conclusion, this project has explored the possibility of modifying the TSSO
algorithm with ranking and selection procedures, namely SaG-F and SaG-V. Two
algorithms were developed in this project. The first one is TSSO with SaG-F which
replaces the OCBA in the replication step of TSSO with SaG-F. The second one is TSSO
with SaG-V which replaces the OCBA in the replication step of TSSO with SaG-V. These
two algorithms were tested using three functions with four settings, two possible
modifications to the parameters of TSSO with SaG-F and TSSO with SaG-V were also
explored.
The SaG-F looks promising as a possible improvement to the TSSO, while the
SaG-V procedure may not be very promising. TSSO with SaG-F performs better than
TSSO in the heavy noise cases in rescaled Branin and Hartmann-3, while performing
comparatively well in the light noise cases. However, TSSO with SaG-F performs worse
than TSSO in the heavy noise cases in the six-hump camel-back function, while
TSSO with SaG-V seems not very promising in all functions, except for the heavy
noise cases in Hartmann-3 and heavy noise-low budget case in rescaled Branin. In general,
where TSSO with SaG-V performs better than TSSO, TSSO with SaG-F also performs
better than TSSO. Moreover, TSSO with SaG-V performs better in less number of
SaG-V. The implementation of these two procedures needs to be done with careful
31
attention to the PCS and IZ parameter which currently must be specified by the user.
Future research may explore a better way to determine the PCS and IZ parameter used in
Moreover, the first stage sample size function of SaG-V is also a possible future
research, since the one that is used in the TSSO with SaG-V algorithm is fixed. A better
way of selecting the first stage sample size function of SaG-V may be explored.
Lastly, future research on TSSO with SaG-F and TSSO with SaG-V may explore
the possibility of fixing the budget for each replication step. The current algorithms do not
fix the budget for the replication step and perform worse than TSSO in function with
many local minima such as the six-hump camel-back function with heavy noise. Fixing
the budget for the replication step may allow the algorithm to avoid wasting too many
replications in one of the local minima. Thus, allowing it to explore more infill points
which may lead to more accurate results. The tradeoff between exploration of new points
and exploitation of sampled points needs to be taken into consideration when exploring
this possibility.
32
References
Ankenman, B., Nelson, B. L., and Staum, J. (2010). Stochastic kriging for simulation
Chen, C. H., Lin, J., Yücesan, E., & Chick, S. E. (2000). Simulation budget allocation for
Cressie, N. (1993). Statistics for spatial data. John Wiley & Sons, New York.
without indifference zone. In Simulation Conference (WSC), 2014 Winter (pp. 3737-
3748). IEEE.
Frazier, P., Powell, W., and Dayanik, S. (2009). The knowledge-gradient policy for
Hong, L. J., & Nelson, B. L. (2007). Selecting the best system when systems are revealed
Huang, D., Allen, T. T., Notz, W. I., and Zeng, N. (2006). Global optimization of
Optimization, 34:441–466.
Jalali, H., Van Nieuwenhuyse, I., & Picheny, V. (2016). Comparison of Kriging-based
33
Jones, D. R., Schonlau, M., and Welch, W. J. (1998). Efficient global optimization of
Liu, C., Pedrielli, G., & Ng, S. H. (2014). eTSSO: Adaptive Search Method for Stochastic
Picheny, V., Ginsbourger, D., Richet, Y., and Caplin, G. (2013a). Quantile-based
13.
48:607–626.
Quan, N., Yin, J., Ng, S. H., & Lee, L. H. (2013). Simulation optimization via kriging: a
sequential search using expected improvement with computing budget constraints. Iie
Staum, J. (2009, December). Better simulation metamodeling: The why, what, and how of
stochastic kriging. In Proceedings of the 2009 Winter Simulation Conference (WSC) (pp.
119-133). IEEE.
Yin, J., Ng, S. H., & Ng, K. M. (2011). Kriging metamodel with modified nugget-effect:
The heteroscedastic variance case. Computers & Industrial Engineering, 61(3), 760-777.
34
Appendices
%initialize SAG
PCS=0.95; % Probability of Correct Selection: 1/2<PCS<1
IZ=0.5; % Indifference Zone Parameter
SAG_n0=B_n0; % 1st stage sample size for SAG
lambda=IZ/2;
y_SAG = y;
v_SAG = v;
rep_n0 = SAG_n0;
beta_i = zeros(MAXIMUM,1);
n_i = zeros(MAXIMUM, 1);
if(i==1)
curr_best = inf;
for j = 1:counter
if(y(j) < curr_best)
curr_best = y(j);
end
end
end
[EI_values Varextrinsic] =
EIcalc_MNEK_kd(x_axis,x(1:counter,:),model,curr_best);
[maxEIk index] = max(EI_values);
%%compute the terms you need for the new budget allocation
rule
35
v(counter) = v_new;
rep_cur(counter) = SAG_n0;
for k=1:SAG_n0
observations(counter,k)=T_X(k,1);
end
usedBudget(kk) = usedBudget(kk) + SAG_n0;
end
if(stopCritMET*stopCriterionINUSE==0)
beta_i(i) = (1-PCS)/(counter-1); % beta at iteration i
n_i(i) = (2*beta_i(i))^(-2/(SAG_n0-1))-1; % n at
iteration i
a_pq = zeros(counter,counter); % initialize a_pq
observations_SAG = observations(1:counter,1:SAG_n0); %
get observations to compute 1st stage sample stage variance
y_SAG = y;
rep_n0 = SAG_n0;
for p=1:SAG_counter
pass = 0;
for q=1:SAG_counter
if p~=q
LHS = rep_n0*(y(p)-y(q));
Zero = 0;
a_pq_minus_rlambda = a_pq(p,q)-rep_n0*lambda;
RHS = max(Zero,a_pq_minus_rlambda);
if LHS<=RHS
pass = pass + 1;
end
end
36
end
if pass == SAG_counter-1
I_counter = I_counter + 1;
I_new(I_counter) = I_old(p);
add_repSAG(p) = 1;
indexSAG(I_counter)=p;
end
end
while I_counter ~= 1
rep_n0 = rep_n0+1;
p = 1;
%add 1 replication for each uneliminated point
for j = 1:counter
if (add_repSAG(j)==1 && usedBudget(kk) < T)
T_D =
normrnd(fhandle(x(j,:)),noise_f(x(j,:)),1,1);
k=rep_cur(j)+1;
observations(j,k)=T_D(1,1);
y(j)=mean(observations(j,1:rep_cur(j)+1));
I_new(p)=y(j);
p=p+1;
v(j)=var(observations(j,1:rep_cur(j)+1))/(rep_cur(j)+1);
rep_cur(j) = rep_cur(j) + 1;
usedBudget(kk)= usedBudget(kk)+1;
end
end
if (usedBudget(kk)>= T)
break
end
%perform the elimination
I_old = I_new;
I_new = zeros(MAXIMUM,1);
SAG_counter = I_counter;
I_counter = 0;
indexSAG = zeros(MAXIMUM,1);
add_rep_new = zeros(MAXIMUM,1);
for p=1:counter
pass = 0;
if(add_repSAG(p)==1)
for q=1:counter
if(add_repSAG(q)==1)
if p~=q
LHS = rep_n0*(y(p)-y(q));
Zero = 0;
a_pq_minus_rlambda = a_pq(p,q)-
rep_n0*lambda;
RHS = max(Zero,a_pq_minus_rlambda);
if LHS<=RHS
37
pass = pass + 1;
end
end
end
end
end
if pass == SAG_counter-1
I_counter = I_counter + 1;
I_new(I_counter) = y(p);
add_rep_new(p) = 1;
indexSAG(I_counter)=p;
else
add_rep_new(p) = 0;
end
end
add_repSAG = add_rep_new;
end
curr_best = I_new(1,1);
38
Appendix A.2 Matlab Code for SaG-V
%initialize SAG
PCS=0.95; % Probability of Correct Selection: 1/2<PCS<1
IZ=0.5; % Indifference Zone Parameter
SAG_n0=B_n0; % 1st stage sample size for SAG
lambda=IZ/2;
y_SAG = y;
v_SAG = v;
rep_n0 = zeros(MAXIMUM,1);
beta_i = zeros(MAXIMUM,1);
n_i = zeros(MAXIMUM, 1);
if(i==1)
curr_best = inf;
for j = 1:counter
if(y(j) < curr_best)
curr_best = y(j);
end
end
end
[EI_values Varextrinsic] =
EIcalc_MNEK_kd(x_axis,x(1:counter,:),model,curr_best);
[maxEIk index] = max(EI_values);
%%compute the terms you need for the new budget allocation
rule
39
if (usedBudget(kk) + SAG_n0 >=T)
T = usedBudget(kk);
end
if(stopCritMET*stopCriterionINUSE==0)
rep_n0(i) = floor(SAG_n0*log(counter/2)/log(5));
beta_i(i) = (1-PCS)/(counter-1); % beta at iteration i
n_i(i) = (2*beta_i(i))^(-2/(rep_n0(i)-1))-1; % n at
iteration i
a_pq = zeros(counter,counter); % initialize a_pq
for j=1:counter
add_rep = rep_n0(i)-rep_cur(j);
if (usedBudget(kk) + add_rep >=T)
T = usedBudget(kk);
break
end
if (add_rep >=1 && usedBudget(kk) + add_rep <= T)
T_D =
normrnd(fhandle(x(j,:)),noise_f(x(j,:)),add_rep,1);
for k=rep_cur(j)+1:rep_cur(j)+add_rep
observations(j,k)=T_D(k-rep_cur(j),1);
end
y(j)=mean(observations(j,1:rep_cur(j)+add_rep));
v(j)=var(observations(j,1:rep_cur(j)+add_rep))/(rep_cur(j)+add_rep
);
rep_cur(j) = rep_cur(j) + add_rep;
usedBudget(kk) = usedBudget(kk) + add_rep;
end
end
observations_SAG =
observations(1:counter,1:rep_n0(i)); % get observations to compute
1st stage sample stage variance
y_SAG = y;
v_SAG(p)=var(observations_SAG(p,1:rep_n0(i)))/rep_n0(i);
end
40
I_old = y_SAG;
I_new = zeros(MAXIMUM,1);
SAG_counter=counter;
I_counter = 0;
add_repSAG = zeros(MAXIMUM,1);
indexSAG = zeros(MAXIMUM,1);
for p=1:SAG_counter
pass = 0;
for q=1:SAG_counter
if p~=q
LHS = rep_n0(i)*(y(p)-y(q));
Zero = 0;
a_pq_minus_rlambda = a_pq(p,q)-
rep_n0(i)*lambda;
RHS = max(Zero,a_pq_minus_rlambda);
if LHS<=RHS
pass = pass + 1;
end
end
end
if pass == SAG_counter-1
I_counter = I_counter + 1;
I_new(I_counter) = I_old(p);
add_repSAG(p) = 1;
indexSAG(I_counter)=p;
end
end
while I_counter ~= 1
rep_n0(i) = rep_n0(i)+1;
p = 1;
%add 1 replication for each uneliminated point
for j = 1:counter
if (add_repSAG(j)==1 && usedBudget(kk) + 1
<=T)
T_D =
normrnd(fhandle(x(j,:)),noise_f(x(j,:)),1,1);
k=rep_cur(j)+1;
observations(j,k)=T_D(1,1);
y(j)=mean(observations(j,1:rep_cur(j)+1));
I_new(p)=y(j);
p=p+1;
v(j)=var(observations(j,1:rep_cur(j)+1))/(rep_cur(j)+1);
rep_cur(j) = rep_cur(j) + 1;
usedBudget(kk)= usedBudget(kk)+1;
end
end
if (usedBudget(kk)>= T)
41
break
end
for p=1:counter
pass = 0;
if(add_repSAG(p)==1)
for q=1:counter
if(add_repSAG(q)==1)
if p~=q
LHS = rep_n0(i)*(y(p)-y(q));
Zero = 0;
a_pq_minus_rlambda = a_pq(p,q)-
rep_n0(i)*lambda;
RHS = max(Zero,a_pq_minus_rlambda);
if LHS<=RHS
pass = pass + 1;
end
end
end
end
end
if pass == SAG_counter-1
I_counter = I_counter + 1;
I_new(I_counter) = y(p);
add_rep_new(p) = 1;
indexSAG(I_counter)=p;
else
add_rep_new(p) = 0;
end
end
add_repSAG = add_rep_new;
end
curr_best = I_new(1,1);
42
Appendix B. Results
43
Appendix B.2 Six-hump Camelback Results
44
Appendix B.3 Hartmann 3D Results
45