Learn R Programming

tourr (version 1.1.0)

search_better_random: Search for a better projection using simulated annealing

Description

Given an initial \(t0\), the cooling scheme updates temperature at $$T = t0 /\log(i + 1)$$ The candidate basis is sampled via $$B_j = (1 - \alpha) * B_i + \alpha * B$$ where alpha defines the neighbourhood, \(B_i\) is the current basis, B is a randomly generated basis The acceptance probability is calculated as $$prob = \exp{-abs(I(B_i) - I(B_j))/ T}$$ For more information, see https://projecteuclid.org/download/pdf_1/euclid.ss/1177011077

Usage

search_better_random(
  current,
  alpha = 0.5,
  index,
  tries,
  max.tries = Inf,
  method = "linear",
  cur_index = NA,
  t0 = 0.01,
  ...
)

Arguments

current

starting projection

alpha

the angle used to search the target basis from the current basis

index

index function

tries

the counter of the outer loop of the opotimiser

max.tries

maximum number of iteration before giving up

method

whether the nearby bases are found by a linear/ geodesic formulation

cur_index

the index value of the current basis

t0

initial decrease in temperature

...

other arguments being passed into the search_better_random()

Examples

Run this code
animate_xy(flea[, 1:6], guided_tour(holes(), search_f = search_better_random))

Run the code above in your browser using DataLab