使用遗传算法解决TSP问题 详细代码将example
经过试验发现,选择算法对结果的优化明显。 随机遍历抽样法效果最好,其次是竞标赛算法
遗传算法的发现较优解的速度非常快,可以用来解决某些NP问题
选择算法
- 轮盘选择算法 roulette wheel selection
- 锦标赛选择算法 tournament selection
- 排序选择算法 rank selection
- 档次轮盘法 Rank Based Wheel Selection
交叉算法
- 单点杂交
- 多点杂交
- 均匀杂交
- 洗牌杂交
重复 步骤2 ~ 5
把路径
转换为基因序列
- B-C-D
- 项对应的编号
- 转换成数值
- 转换成2进制(形如: "010")
把基因序列
转换为路径
- 2进制(形如: "010")
- 转换为数值
- 转换为项对应的编号
- B-C-D
test2.go中的结果可以直接使用R语言绘制路径图
data = read.table("/tmp/1.csv",header=F, sep=",");
traveller_way = read.table("/tmp/1.csv",header=TRUE, sep=",");
m <- ggplot(traveller_way, aes(posX, posY));
m + geom_path();