Article ID: | iaor201526071 |
Volume: | 61 |
Issue: | 2 |
Start Page Number: | 343 |
End Page Number: | 372 |
Publication Date: | Jun 2015 |
Journal: | Computational Optimization and Applications |
Authors: | Shobaki Ghassan, Jamal Jafar |
Keywords: | combinatorial optimization, networks, programming: travelling salesman, heuristics |
This article presents an exact algorithm for the precedence‐constrained traveling salesman problem, which is also known as the sequential ordering problem. This NP‐hard problem has applications in various domains, including operational research and compilers. In this article, the problem is presented and solved in the context of minimizing switching energy in compilers. Most previous work on minimizing switching energy in the compiler domain has been limited to simple heuristics that are not guaranteed to give an optimal solution. In this work, we present an exact algorithm for solving the switching energy minimization problem using a branch‐and‐bound approach. The proposed algorithm is simple and intuitive, yet powerful. It is the first exact algorithm for the switching energy problem that is shown to solve real instances of the problem within a few seconds per instance. Compared to previous work in the operational research domain, the proposed algorithm is believed to be the most powerful exact algorithm that does not require a linear programming formulation. The proposed algorithm is experimentally evaluated using instances taken from a production compiler. The results show that with a time limit of 10 ms per node, the proposed algorithm optimally solves 99.8 % of the instances. It optimally solves instances with up to 598 nodes within a few seconds. The resulting switching cost is 16 % less than that produced without energy awareness and 5 % less than that produced by a commonly used heuristic.