资源简介
该程序是以蚁群系统为模型写的蚁群算法程序(强调:非蚂蚁周模型),以三个著名的TSP问题为测试对象
//通过微调参数,都可以获得较好的解
有详细的注释文档
代码片段和文件信息
/*********************************
*作者:陈杰
*单位:四川大学计算机学院
*邮件地址:scucj@126.com
*完成时间:2008年3月
*********************************/
#include
#include
#include
using namespace std;
//该程序是以蚁群系统为模型写的蚁群算法程序(强调:非蚂蚁周模型),以三个著名的TSP问题为测试对象
//通过微调参数,都可以获得较好的解
/*
//----------(1)问题一:Oliver 30 城市 TSP 问题 best_length = 423.7406; ------------------------
//该程序最好的结果是423.741,可运行多次获得
//城市节点数目
#define N 30
//城市坐标
double C[N][2]={
{299}{450}{764}{1340}{1854}{1840}{2260}{2442}{2562}{2538}
{3784}{4194}{4126}{4435}{4521}{5467}{5462}{5835}{5869}{6232}
{6460}{6858}{7144}{7171}{7478}{827}{8346}{8369}{8776}{9138}
};
//----------上面参数是固定的,下面的参数是可变的-----------
//蚂蚁数量
#define M 30
//最大循环次数NcMax
int NcMax = 500;
//信息启发因子,期望启发式因子,全局信息素挥发参数,局部信息素挥发参数 状态转移公式中的q0
double alpha = 2 beta = 3 rou = 0.1 alpha1 = 0.1 qzero = 0.01;
//-----------问题一结束------------------------------------------------------------------------
*/
/*
//----------(2)问题二:Elion50 城市 TSP 问题 best_length = 427.96; ----------------------------
//该程序最好的结果是428.468,可运行多次获得
//城市节点数目
#define N 50
//城市坐标
double C[N][2]={
{564} {525} {56} {738} {852} {1017}
{1242} {1313} {1657} {1733} {1763}
{2026} {2147} {2110} {2532} {2555}
{2768} {2723} {3048} {3015} {3162}
{3132} {3222} {3239} {3616} {3769}
{3752} {3846} {3910} {4030} {4257}
{4241} {4367} {4535} {4610} {4828}
{4949} {5121} {5233} {5241} {5264}
{5637} {5758} {5827} {5848} {5915}
{6133} {6242} {6263} {6369}
};
//----------上面参数是固定的,下面的参数是可变的-----------
//蚂蚁数量
#define M 50
//最大循环次数NcMax
int NcMax = 1000;
//信息启发因子,期望启发式因子,全局信息素挥发参数,局部信息素挥发参数 状态转移公式中的q0
double alpha = 2 beta = 4 rou = 0.1 alpha1 = 0.1 qzero = 0.01;
//-----------问题二结束------------------------------------------------------------------------
*/
//----------(3)问题三:Elion75 城市 TSP 问题 best_length = 542.31;
//该程序最好的结果是542.309,可运行多次获得
//城市节点数目
#define N 75
//城市坐标
double C[N][2]={
{625} {743} {956} {1070} {1128}
{1217} {1238} {155} {1514} {1556}
{1619} {1764} {2030} {2148} {2145}
{2136} {2253} {2222} {2629} {2613}
{2659} {2724} {2939} {3050} {3020}
{3060} {3176} {3334} {3344} {3551}
{3516} {3560} {366} {3626} {3833}
{4037} {4066} {4060} {4020} {4146}
{4326} {4413} {4542} {4535} {4766}
{4821} {5030} {5040} {5050} {5070}
{504} {5015} {5142} {5226} {5438}
{5410} {5534} {5545} {5550} {5565}
{5557} {5520} {5772} {595} {6015}
{6257} {6248} {6235} {6224} {644}
{6527} {6614} {668} {6741} {7064}
};
//----------上面参数是固定的,下面的参数是可变的-----------
//蚂蚁数量
#define M 75
//最大循环次数NcMax
int NcMax =1000;
//信息启发因子,期望启发式因子,全局信息素挥发参数,局部信息素挥发参数 状态转移公式中的q0
double alpha = 2 beta = 5 rou = 0.1 alpha1 = 0.1 q
相关资源
- C++中头文件与源文件的作用详解
- C++多线程网络编程Socket
- VC++ 多线程文件读写操作
- 利用C++哈希表的方法实现电话号码查
- 移木块游戏,可以自编自玩,vc6.0编写
- C++纯文字DOS超小RPG游戏
- VC++MFC小游戏实例教程(实例)+MFC类库
- 连铸温度场计算程序(C++)
- 6自由度机器人运动学正反解C++程序
- Em算法(使用C++编写)
- libstdc++-4.4.7-4.el6.i686.rpm
- VC++实现CMD命令执行与获得返回信息
- 白话C++(全)
- C++标准库第1、2
- 大数类c++大数类
- C++语言编写串口调试助手
- c++素数筛选法
- C++ mqtt 用法
- 商品库存管理系统 C++ MFC
- c++ 多功能计算器
- C++17 In Detail
- 嵌入式QtC++编程课件
- 颜色识别形状识别STM103嵌入式代码
- c++ 邮件多附件群发
- c++ 透明代理(hookproxy)
- mfc 调用redis
- FTP客户端源码(c++)
- c++ 画图(14Qt-XPS)
- c++多边形交并差运算
- VC++基于OpenGL模拟的一个3维空间模型
评论
共有 条评论