seed_based_iteration: Seed-Based Iteration

View source: R/seed_based_iteration.R

seed_based_iterationR Documentation

Seed-Based Iteration

Description

Seed-Based Iteration is a heuristic-based seed generation used in SIgFUR to iteratively perturb the ranking to improve the consensus ranking.

Usage

seed_based_iteration(eta, omega, input_rkgs, wt = c())

Arguments

eta

a subiteration length for intermittent Subiterative Convergence. The recommended values are between 2 and 8. Smaller subiteration lengths result in shorter run-time.

omega

a positive integer for the number of repetitions of perturbing the seed ranking. An omega value of 1 corresponds to a single application of Subiterative Convergence.

input_rkgs

a k by n matrix of k rankings of n objects, where each row is a complete ranking. Note that this is a transpose of matrix used for functions like fur, sigfur, rap_greedy_alg, and subit_convergence.

wt

a k-length vector containing weights for each judge or attribute. An optional parameter.

Value

A list containing the consensus ranking (expressed as ordering) and total Kemeny distance corresponding to the consensus ranking.

References

Badal, P. S., & Das, A. (2018). Efficient algorithms using subiterative convergence for Kemeny ranking problem. Computers & Operations Research, 98, 198-210. \Sexpr[results=rd]{tools:::Rd_expr_doi("10.1016/j.cor.2018.06.007")}

See Also

sigfur, subit_convergence, mean_seed

Examples

## Four input rankings of five objects
eta <- 2
omega <- 10
input_rkgs <- matrix(c(3, 2, 5, 4, 1, 2, 3, 1, 5, 4, 5, 1, 3, 4, 2, 1, 2, 4, 5, 3),
    byrow = FALSE, ncol = 4)
seed_based_iteration(eta, omega, t(input_rkgs)) # Determined seed-based iterations

## Five input rankings with five objects
## 2nd ranking == 3rd ranking, so if a third object is weighted as zero,
## we should get the same answer as the first examples
input_rkgs <- matrix(c(3, 2, 5, 4, 1, 2, 3, 1, 5, 4, 2, 3, 1, 5, 4, 5, 1, 3, 4, 2, 1, 
                       2, 4, 5, 3),byrow = FALSE, ncol = 5)
eta <- 2
omega <- 10
wt = c(1,1,0,1,1)
seed_based_iteration(eta, omega, t(input_rkgs), wt=wt) # Determined seed-based iterations

## Included dataset of 15 input rankings of 50 objects
eta <- 3
omega <- 5
data(data50x15)
input_rkgs <- as.matrix(data50x15[, -1])
seed_based_iteration(eta, omega, t(input_rkgs)) # Determined seed-based iterations


RankAggSIgFUR documentation built on July 9, 2023, 7:26 p.m.