getPSOInfo: Generation function of PSO parameter settings

Description Usage Arguments Value References Examples

View source: R/DiscrimOD_assist.r

Description

Create a list with PSO parameters for optimal discrimination design search.

Usage

1
2
3
getPSOInfo(nSwarm = 32, maxIter = 100, freeRun = 1, tol = 1e-06,
  c1 = 2.05, c2 = 2.05, w0 = 1.2, w1 = 0.2, w_var = 0.8,
  vk = 4)

Arguments

nSwarm

A integer number of swarm size in PSO algorithm.

maxIter

A integer number of maximal PSO iterations.

freeRun

A number between [0,1] that controls the percentage of PSO iterations which are free from examining the stopping criterion, |f'-f|<\varepsilon where f' and f are the objective function values in the previous and current iterations, respectively. The default is 1.0 implying the PSO will completely ignore the stopping criterion. Otherwise, the PSO checks the stopping criterion after free iterations.

tol

A small value for the tolerance, \varepsilon, in the stopping criterion. For freeRun smaller than 1.0, the default is 1e-6. Otherwise, this value would not affect the algorithm.

c1

The value of cognitive parameter in PSO updating procedure. The default is 2.05.

c2

The value of social parameter in PSO updating procedure. The default is 2.05.

w0

The value of starting inertia weight in PSO updating procedure. The default is 1.2.

w1

The value of ending inertia weight in PSO updating procedure. The default is 0.2.

w_var

A number between [0,1] that controls the percentage of iterations that PSO linearly decreases the inertia weight from w0 to w1. The default is 0.8.

vk

The value of velocity clamping parameter. The default is 4.

checkConv

A logical value which controls whether PSO checks the stopping criterion during updating procedure. Specify TRUE for PSO to compute the stopping criterion |f'-f|<\varepsilon where f' and f are the objective function values in the previous and current iterations, respectively. The default is FALSE.

Value

A list of PSO parameter settings.

References

Chen, R.-B., Chang, S.-P., Wang, W., Tung, H.-C., and Wong, W. K. (2015). Minimax optimal designs via particle swarm optimization methods. Statistics and Computing, 25(5):975-988.

Examples

1
2
3
4
5
6
7
8
9
# Get default settings with specified swarm size and maximal number of iterations.
PSO_INFO <- getPSOInfo(nSwarm = 32, maxIter = 100)

# If wanted to disable L-BFGS for the inner optimization loop and
# use NestedPSO algorithm (Chen et al., 2015), we need the options
# for the two-layer PSO: c(outer loop option, inner loop option)
NESTEDPSO_INFO <- getPSOInfo(nSwarm = c(16, 32), maxIter = c(100, 200))
# Also, disable the L-BFGS algorithm
LBFGS_NOTRUN <- getLBFGSInfo(IF_INNER_LBFGS = FALSE)

PingYangChen/DiscrimOD documentation built on Jan. 30, 2022, 5:25 p.m.