The InputParams class stores options and execution parameters that have been passed to FLAGR by the user. These parameters concern input and output file locations, rank aggregation methods, algorithm hyper-parameters, etc. See the table below for a complete list of the supported parameters and their respective valid values.

This object is passed as an argument to multiple functions of FLAGR including the implementations of the rank aggregation methods. This is how these implementations get access to the user-defined hyper-parameters.

Implementation files
The InputParams class is defined in the src/InputParams.h header file; its member functions are implemented in src/InputParams.cpp.

Technical Details
The supported parameters include:

Parameter Data Type Description
input_file String (ASCII) The path of the input CSV file that contains the preference lists to be aggregated.
rels_file String (ASCII) The path of the optional CSV file that contains the relevance judgments of the input list elements. If set, it automatically triggers the evaluation process of the generated aggregate list. Otherwise, no evaluation takes place.
output_file String (ASCII) The file system location where the output file with the aggregate list will be stored. If left empty, the default OS temp directory is used.
eval_file String (ASCII) The file system location where the output file with the evaluation of the aggregate list will be stored. If left empty, the default OS temp directory is used.
random_string String (ASCII) A string that is embedded in the names of the output files. Used when FLAGR is compiled as a shared library.
aggregation_method Integer Determines the algorithm that will be used to perform rank aggregation. The valid values are:
100 for CombSUM with Borda normalization
101 for CombSUM with Rank normalization
102 for CombSUM with Score normalization
103 for CombSUM with Z-Score normalization
104 for CombSUM with Simple Borda normalization
110 for CombMNZ with Borda normalization
111 for CombMNZ with Rank normalization
112 for CombMNZ with Score normalization
113 for CombMNZ with Z-Score normalization
114 for CombMNZ with Simple Borda normalization
200 for the Condorcet Winners method
201 for the Copeland Winners method
300 for the Outranking Approach
400 for Kemeny optimal aggregation
401 for Robust Rank Aggregation (RRA)
5100 for DIBRA using CombSUM and Borda Normalization
5101 for DIBRA using CombSUM and Rank Normalization
5102 for DIBRA using CombSUM and Score Normalization
5103 for DIBRA using CombSUM and Z-Score Normalization
5104 for DIBRA using CombSUM and Simple Borda Normalization
5110 for DIBRA using CombMNZ and Borda Normalization
5111 for DIBRA using CombMNZ and Rank Normalization
5112 for DIBRA using CombMNZ and Score Normalization
5113 for DIBRA using CombMNZ and Z-Score Normalization
5114 for DIBRA using CombMNZ and Simple Borda Normalization
5200 for DIBRA using the Condorcet Winners method
5201 for DIBRA using the Copeland Winners method
5300 for DIBRA using the Outranking Approach
600 for the Preference Relations Method
700 for the Agglomerative Aggregation Method
801 for Markov Chains 1 (MC1)
802 for Markov Chains 2 (MC2)
803 for Markov Chains 3 (MC3)
804 for Markov Chains 4 (MC4)
805 for MCT
correlation_method Integer The correlation method that is used to measure the distance between an input list and the temporary aggregate list. The valid values are:
1 for the Spearman's \(\rho\) correlation coefficient.
2 for the scaled variant of Spearman's Footrule distance.
3 for Cosine similarity of the lists' vector representations.
5 for the Kendall's \(\tau\) correlation coefficient.
weights_normalization Integer The voter weights normalization method. Used when the DIBRA algorithm is selected. The valid values are:
1 for no voter weight normalization.
2 for normalizing the voter weights with min-max scaling.
3 for z-normalizing the voter weights.
max_iterations Integer This parameter controls the maximum number of iterations. FLAGR will stop the execution of DIBRA if the requested number of iterations have been performed, even if the voter weights have not fully converged.
max_list_items Integer Limits the length of the input preference lists.
eval_points Integer Determines the elements in the aggregate list on which the evaluation measures (i.e. Precision, and nDCG) will be computed. For example, for eval_pts=10 FLAGR will compute \(P@1, P@2, ..., P@10\) and \(N@1, N@2, ..., N@10\).
list_pruning Boolean Triggers a weight-dependant list pruning mechanism. Used in combination with the DIBRA weighted method only.
convergence_precision Float or Double Controls the convergence precision. This tolerance threshold represents the minimum precision of the difference between the voter weight in an iteration and the voter weight of the previous iteration. Used in combination with the DIBRA weighted method only.
alpha Float or Double The \(\alpha\) hyper-parameter of the Preference Relations method.
beta Float or Double The \(\beta\) hyper-parameter of the Preference Relations method.
gamma Float or Double The \(\gamma\) hyper-parameter of DIBRA.
c1 Float or Double The \(c_1\) hyper-parameter of the Agglomerative Aggregation method.
c2 Float or Double The \(c_2\) hyper-parameter of the Agglomerative Aggregation method.
pref_thr Float or Double The preference threshold of the Outranking Approach. It takes values in the range \([0,1]\).
veto_thr Float or Double The veto threshold of the Outranking Approach. It takes values in the range \([0,1]\).
conc_thr Float or Double The concordance threshold of the Outranking Approach. It takes values in the range \([0,1]\).
disc_thr Float or Double The discordance threshold of the Outranking Approach. It takes values in the range \([0,1]\).

The following interactive block diagram depicts the functionality of the InputParams class inside the entire architecture of FLAGR.

FLAGR architecture