Ranking is performed by merging all approximation sets over all algorithms and runs per instance. Next, each approximation set C is assigned a rank which is 1 plus the number of approximation sets that are better than C. A set D is better than C, if for each point xinC there exists a point in yinD which weakly dominates x. Thus, each approximation set is reduced to a number -- its rank. This rank distribution may act for first comparrison of multi-objecitve stochastic optimizers. See [1] for more details. This function makes use of parallelMap to parallelize the computation of dominance ranks.
computeDominanceRanking(df, obj.cols)
Arguments
df: [data.frame]
Data frame with columns at least prob , algorithm , repl and column names specified via parameter obj.cols.
obj.cols: [character(>= 2)]
Column names in df which store the objective function values.
Returns
[data.frame] Reduced df with columns prob , algorithm , repl
and rank .
Note
Since pairwise non-domination checks are performed over all algorithms and algorithm runs this function may take some time if the number of problems, algorithms and/or replications is high.
References
[1] Knowles, J., Thiele, L., & Zitzler, E. (2006). A Tutorial on the Performance Assessment of Stochastic Multiobjective Optimizers. Retrieved from https://sop.tik.ee.ethz.ch/KTZ2005a.pdf