Skip to content

Algorithms: Best Order Sort

Maxim Buzdalov edited this page Dec 30, 2018 · 3 revisions
@inproceedings{ best-order-sort-gecco,
    author      = {Proteek Chandan Roy and Md. Monirul Islam and Kalyanmoy Deb},
    title       = {Best Order Sort: A New Algorithm to Non-dominated Sorting
                   for Evolutionary Multi-objective Optimization},
    booktitle   = {Proceedings of the Genetic and Evolutionary Computation
                   Conference Companion},
    year        = {2016},
    pages       = {1113-1120},
    publisher   = {ACM},
    langid      = {english}
}

How to get an instance:

  • BestOrderSort.getProteekImplementation() -- returns an implementation which is directly based on Proteek's code with necessary interface adaptations and removing the special case for M=2.
  • BestOrderSort.getImprovedImplementation() -- returns the same ideas reimplemented from scratch with lower-level data structures, which brought a steady 1.5x speedup.

Both implementations require O(MN) memory and have worst-case running time complexity O(MN^2). However, these algorithms are very fast, especially in medium dimensions, small numbers of fronts and less than 10^5 points.

Clone this wiki locally