遗传算法 与旅行商问题

用遗传算法解决旅行商问题

genetic algorithm to solve TSP problem

参考连接:Genetic algorithm - Wikipedia

                    Travellingsalesman problem - Wikipedia

                    Travelling-Salesman--a-Genetic-Algorithm

旅行商问题:

给定一系列城市和每对城市之间的距离,求解访问每一座城市一次并回到起始城市的最短回路。它是组合优化中的一个NP困难问题,在运筹学和理论计算机科学中非常重要。

 

遗传算法: 

遗传算法通常实现方式为一种计算机模拟。对于一个最优化问题,一定数量的候选解(称为个体)可抽象表示为染色体,使种群向更好的解进化。传统上,解用二进制表示(即0和1的串),但也可以用其他表示方法。进化从完全随机个体的种群开始,之后一代一代发生。在每一代中评价整个种群的适应度,从当前种群中随机地选择多个个体(基于它们的适应度),通过自然选择和突变产生新的生命种群,该种群在算法的下一次迭代中成为当前种群。

流程与步骤
    第一步:初始化 t←0进化代数计数器;T是最大进化代数;随机生成M个个体作为初始    群体P(t);
    第二步:个体评价计算P(t)中各个个体的适应度;
    第三步:选择运算将选择算子作用于群体;
    第四步:交叉运算将交叉算子作用于群体;
    第五步:变异运算将变异算子作用于群体,并通过以上运算得到下一代群体P(t + 1);
    第六步:终止条件判断  t≦T:t← t+1 转到步骤2;t>T:终止 输出解。


基本上可以归结为随机取种群中元素然后两两交配生成下一代,其中可能存在变异,每次通过估价函数来淘汰调一部分&

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值