In this work we propose a highly optimized version of a simulated annealing (SA) algorithm adapted to the more recently developed Graphic Processor Units (GPUs). The programming has been carried out with CUDA toolkit, specially designed for Nvidia GPUs. For this purpose, efficient versions of SA have been first analyzed and adapted to GPUs. Thus, an appropriate sequential SA algorithm has been developed as a starting point. Next, a straightforward asynchronous parallel version has been implemented and then a specific and more efficient synchronous version has been developed. A wide appropriate benchmark to illustrate the performance properties of the implementation has been considered. Among all tests, a classical sample problem provided by the minimization of the normalized Schwefel function has been selected to compare the behavior of the sequential, asynchronous, and synchronous versions, the last one being more advantageous in terms of balance between convergence, accuracy, and computational cost. Also, the implementation of a hybrid method combining SA with a local minimizer method has been developed. Note that the generic feature of the SA algorithm allows its application in a wide set of real problems arising in a large variety of fields, such as biology, physics, engineering, finance, and industrial processes.
翻译:本文提出了一种高度优化的模拟退火算法版本,该版本适配于近期发展的图形处理器。编程工作采用专为英伟达GPU设计的CUDA工具包完成。为此,我们首先分析并改造了适用于GPU的高效模拟退火算法版本,开发了适当的顺序模拟退火算法作为起点。随后,实现了一种简单的异步并行版本,进而开发了特定且更高效的同步版本。研究采用了广泛适用的基准测试集以说明实现的性能特性。在所有测试中,选取了通过最小化归一化Schwefel函数提供的经典样本问题,用于比较顺序、异步和同步版本的行为,其中同步版本在收敛性、精度和计算成本之间的平衡方面更具优势。此外,还开发了将模拟退火与局部最小化器方法相结合的混合方法实现。值得注意的是,模拟退火算法的通用特性使其能够广泛应用于生物学、物理学、工程学、金融学和工业流程等众多领域出现的实际问题。