tabu: Tabu Search

Description Usage Arguments Value Author(s) References Examples

View source: R/localSearch.R

Description

Generates a search function based on the tabu search. This function is called internally within the searchAlgorithm function. The Tabu Search\insertCiteglover1986FSinR \insertCiteglover1990FSinR method starts with a certain set of features and in each iteration it searches among its neighbors to advance towards a better solution. The method has a memory (tabu list) that prevents returning to recently visited neighbors. The method ends when a certain number of iterations are performed, or when a certain number of iterations are performed without improvement, or when there are no possible neighbors. Once the method is finished, an intensification phase can be carried out that begins in the space of the best solutions found, or a diversification phase can be carried out in which solutions not previously visited are explored.

Usage

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
tabu(
  start = NULL,
  numNeigh = NULL,
  tamTabuList = 5,
  iter = 100,
  iterNoImprovement = NULL,
  intensification = NULL,
  iterIntensification = 50,
  interPercentaje = 75,
  tamIntermediateMemory = 5,
  diversification = NULL,
  iterDiversification = 50,
  forgetTabuList = TRUE,
  verbose = FALSE
)

Arguments

start

Binary vector with the set of initial features

numNeigh

The number of neighbor to consider in each iteration. By default: all posibles. It is important to note that a high value of this parameter considerably increases the computation time.

tamTabuList

The size of the tabu list. By default: 5

iter

The number of iterations of the algorithm. By default: 100

iterNoImprovement

Number of iterations without improvement to start/reset the intensification/diversification phase. By default, it is not taken into account (all iterations are performed)

intensification

Number of times the intensification phase is applied. None by default

iterIntensification

Number of iterations of the intensification phase

interPercentaje

Percentage of the most significant features to be taken into account in the intensification phase

tamIntermediateMemory

Number of best solutions saved in the intermediate memory

diversification

Number of times the diversification phase is applied. None by default

iterDiversification

Number of iterations of the diversification phase

forgetTabuList

Forget tabu list for intensification/diversification phases. By default: TRUE

verbose

Print the partial results in each iteration

Value

Returns a search function that is used to guide the feature selection process.

Author(s)

Francisco Aragón Royón

References

\insertAllCited

Examples

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
## Not run:  

## The direct application of this function is an advanced use that consists of using this 
# function directly and performing a search process in a feature space
## Classification problem

# Generates the filter evaluation function
filter_evaluator <- filterEvaluator('determinationCoefficient')

# Generates the search function wit Tabu search
ts_search <- tabu()
# Performs the search process directly (parameters: dataset, target variable and evaluator)
ts_search(iris, 'Species', filter_evaluator)

## End(Not run)

FSinR documentation built on Nov. 23, 2020, 5:10 p.m.