1.内容:
在Visual C++ 编译环境下,模拟退火算法程序,并利用它们求解了48个城市的TSP问题。
2.程序说明
由于篇幅有限,且程序中还包括界面实现和计算线程处理等一些与算法无关的代码。为方便阅读,程序清单只介绍实现算法的流程控制函数和一些功能函数,具体的代码可参见源程序。
模拟退火算法的源程序在[TspSA]目录中,与算法相关的代码主要在如下三个文件中:
1)sacode.h 算法中所需结构体的定义,包括SYCoordinate、SYCity、SYCityDistance、SYRouter。
2) sacode.cpp 算法中所有功能函数的实现,主要包括InitialSA、CountCityDistance、CreateCityRouter2opt、CountTotalDistance、CountDownTemperature等等。后面将分别介绍这些功能函数的作用。
3)MainFrm.cpp流程控制函数的实现,该函数是SACompution。后面将详细介绍该函数的流程。
流程控制函数和功能函数的介绍
流程控制函数SACompution控制循环的迭代和结束,其主要代码如下:
2022-03-05 21:03:20
2.35MB
模拟
算法
退火
1