Compare the algorithms’ running times in theory. There are two effective ways to compare the running times of algorithms. First, you can use “big O” notation. In this method, you look at the structure of an algorithm’s code, computing how long it will take the code to finish running. The result will be a mathematical function (in number of steps), which can then be compared with other functions. The function that is smaller when a large number of steps is put into the function is faster; that is, choose a large value for the variable, such as n = 9999 and evaluate both functions--the function that yields the smaller number is the faster one. If you are not familiar with “big O” notation, you can skip this part and compare the running times only in practice.
Compare the algorithms’ running times in practice. This step should be done regardless of whether you have already used “big O” notation to compare the algorithms. Run each algorithm on the same computer. Time the algorithms and compare the resulting running times. Try this with multiple sets of load circumstances, such as having several programs running in the background as the algorithm performs. In this circumstance, the computer has less available RAM, so you will be able to see how the algorithms compare under limited resources.
Compare the output of the algorithms. Although correct multi-objective algorithms should converge on the same set of solutions, due to small errors in the code, it is often the case that the solutions differ by some amount. Compare these differences by calculating the Euclidean distance between the solutions. Most computer software programs offer a Euclidean distance function for vector output (the output of multi-objective algorithms). If you are without such a function, use the following formula: sqrt(sum([soli1 – soli2]^2)), where “sqrt” is the square root function, “sum” is the sigma notational sum that adds all of the values inside the function, “soli1” is the “ith” solution for the first algorithm and “soli2” is the “ith” solution for the second algorithm.