After replicating the methods in Saeidi's study, we found that the pseudocode needed to be modified for better performance. The first modification is to change the probabilistic evaluation from U(0,1), which outputs a 0 or 1, to a random value between 1 and 0. The original evaluation did not make use of the probability function as it was never above 1. Second, parameters such as the initial temperature and cooling rate found by Saeidi cooled the system too fast. This led to our algorithm finding high cost solutions early on in the evaluations. When comparing Saeidi's "total fitness" results, we found that his total cost fluctuated in smaller ranges than our results and did not agree with the general characteristics we were observing with our testing. Single face turns were also found to drastically change total cost and did not match the fluctuations in Saeidi's results. Although we have our suspicions regarding the results obtained by Saeidi, there is also likely something implemented by him that we could have missed or not explicitly mentioned in his paper.
Throughout the modifications of Saeidi's simulated annealing methods, we found that the cooling rate, temperature function, and initial temperature drastically change the results of the algorithm. Further optimization of these values could lead to successful cube solutions in the future. Other methods of optimization should also be explored, as our results proved to be unsuccessful in finding solutions to Rubik's Cubes. Changing the cost functions could also lead to more successful computations as the method used in this project led to many local minima that require multiple moves to solve. For example, a 1 move scramble has a cost of 12 compared to a 7 move scramble that has a cost of 3.
In addition, more work could be done in an attempt to replicate the genetic algorithm methodology mentioned in Saeidi's work to see if the GA implementation could improve convergence to a solved Rubik's Cube.
Our attempt to solve a Rubik's Cube has revealed the complex nature of multiobjective optimization. In all of our attempts to solve the Rubik's Cube, we have noticed how easy it is to converge to a local optima, yet have also noticed how hard it is to converge to a series to moves that lead to the global optima: a solved cube. Many problems today carry these complexities and competing objectives, thus it is important to develop more robust techniques to solve these challenging problems.