R/search-better.r
search_better_random.Rd
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
search_better_random(
current,
alpha = 0.5,
index,
tries,
max.tries = Inf,
method = "linear",
cur_index = NA,
t0 = 0.01,
...
)
starting projection
the angle used to search the target basis from the current basis
index function
the counter of the outer loop of the opotimiser
maximum number of iteration before giving up
whether the nearby bases are found by a linear/ geodesic formulation
the index value of the current basis
initial decrease in temperature
other arguments being passed into the search_better_random()
animate_xy(flea[, 1:6], guided_tour(holes(), search_f = search_better_random))
#> Converting input data to the required matrix format.
#> Old 1.581977
#> New 1.581977 try 1
#> Accept with probability, prob = 1
#> Using half_range 66