2013 Volume 6 Pages 28-36
Multi-objective path optimization is a critical operation in a large number of applications. Many applications execute on embedded systems, which use less powerful processors and limited amount of memory in order to reduce system costs and power consumption. Therefore, fast and memory-efficient algorithms are needed to solve the multi-objective path optimization problem. This paper proposes a fast and memory-efficient algorithm based on a Genetic Algorithm (GA) that can be used to solve the multi-objective path optimization problem. The proposed algorithm needs memory space approximately equal to its population size and consists of two GA operations (crossover and mutation). During each iteration, any one of the GA operations is applied to chromosomes, which can be either dominated or non-dominated. Dominated chromosomes prefer the crossover operation with a non-dominated chromosome in order to produce an offspring that has genes from both parents (dominated and non-dominated chromosomes). The mutation operation is preferred by non-dominated chromosomes. The offspring replaces its parent chromosome. The proposed algorithm is implemented using C++ and executed on an ARM-based embedded system as well as on an Intel-Celeron-M-based PC. In terms of the quality of its Pareto-optimal solutions, the algorithm is compared with Non-dominated Sorting Genetic Algorithm-II (NSGA-II) and Simulated Annealing (SA). The performance of the proposed algorithm is better than that of SA. Moreover, comparison with NSGA-II shows that at approximately equal amounts of execution time and memory usage, the performance of the proposed algorithm is 5% better than that of NSGA-II. Based on the experimental results, the proposed algorithm is suitable for implementation on embedded systems.