位置: 编程技术 - 正文

Python编程实现蚁群算法详解(用python编写程序)

编辑:rootadmin

推荐整理分享Python编程实现蚁群算法详解(用python编写程序),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:python 蚂蚁呀嘿,用python编写程序,用python编写程序,用python做程序,python编程100例,python编程bim,用python编写,python 蚂蚁呀嘿,内容如对您有帮助,希望把文章链接给更多的朋友!

简介

蚁群算法(ant colony optimization, ACO),又称蚂蚁算法,是一种用来在图中寻找优化路径的机率型算法。它由Marco Dorigo于年在他的博士论文中提出,其灵感来源于蚂蚁在寻找食物过程中发现路径的行为。蚁群算法是一种模拟进化算法,初步的研究表明该算法具有许多优良的性质。针对PID控制器参数优化设计问题,将蚁群算法设计的结果与遗传算法设计的结果进行了比较,数值仿真结果表明,蚁群算法具有一种新的模拟进化优化方法的有效性和应用价值。定义

各个蚂蚁在没有事先告诉他们食物在什么地方的前提下开始寻找食物。当一只找到食物以后,它会向环境释放一种挥发性分泌物pheromone (称为信息素,该物质随着时间的推移会逐渐挥发消失,信息素浓度的大小表征路径的远近)来实现的,吸引其他的蚂蚁过来,这样越来越多的蚂蚁会找到食物。有些蚂蚁并没有像其它蚂蚁一样总重复同样的路,他们会另辟蹊径,如果另开辟的道路比原来的其他道路更短,那么,渐渐地,更多的蚂蚁被吸引到这条较短的路上来。最后,经过一段时间运行,可能会出现一条最短的路径被大多数蚂蚁重复着。

解决的问题

三维地形中,给出起点和重点,找到其最优路径。

作图源码:

基本原理

Python编程实现蚁群算法详解(用python编写程序)

蚂蚁k根据各个城市间链接路径上的信息素浓度决定其下一个访问城市,设Pkij(t)表示t时刻蚂蚁k从城市i转移到矩阵j的概率,其计算公式为

计算完城市间的转移概率后,采用与遗传算法中一样的轮盘赌方法选择下一个待访问的城市。

当所有的蚂蚁完成一次循环后,各个城市间链接路径上的信息素浓度需进行更新,计算公式为

其中,Δτkij表示第k只蚂蚁在城市i与城市j连接路径上释放的信息素浓度;Δτij表示所有蚂蚁在城市i与城市j连接路径上释放的信息素浓度之和。

蚂蚁释放信息素的模型

程序代码:

总结

标签: 用python编写程序

本文链接地址:https://www.jiuchutong.com/biancheng/372232.html 转载请保留说明!

上一篇:Python编程实现粒子群算法(PSO)详解(python怎么编程)

下一篇:AI人工智能 Python实现人机对话(ai人工智能python)

  • 支付给法律顾问的钱
  • 企业接受捐赠固定资产计入什么科目
  • 车间人员负担的工会经费
  • 合伙企业注销流程图
  • 汽车修理店业务范围
  • 减免税款的会计处理
  • 其他业务收入的核算内容
  • 购买座机计入哪个科目?
  • 三证合一后新办企业多久去税务登记
  • 住房公积金个人缴费比例
  • 公司注销留抵税金能退税吗
  • 冲销暂估成本如何写摘要?
  • 哪些资产减值损失可以 转回,哪些不能?
  • 走物流的货物如何收费
  • 调减管理费用如何调整本年利润
  • 不良品退回处理流程
  • linux查杀webshell
  • 如何制作macos bigsur的启动盘
  • 税金及附加包括所得税费用吗
  • 附加税享受税收减免的怎么记账
  • 增值税预缴税款表电子版下载
  • 不得抵扣的进项税额计入哪里
  • office com组件修复
  • 浏览器显示英语怎么设置成中文
  • 预付款挂账什么意思
  • 收到以前年度退税款的会计分录
  • win 8和win 7有什么区别
  • 工程价款结算的方式
  • mediacache是什么文件夹
  • 奇托尔加赫城堡
  • java.exe进程可以关掉吗
  • 企业签订的技术合同
  • php编程中的_横线表示什么
  • php email
  • 夸克到底有什么用
  • 关于php中一些字符的数据
  • 金蝶年底结账流程
  • 尚未进行抄报税无法申报是什么意思
  • 企业没有ca怎么登陆公积金账户
  • 在线客服系统登录
  • linux下安装mysql数据库5.6源码安装,修改登录用户密码
  • python 列表sum
  • 外贸企业有哪些公司青岛
  • 保证人不承担责任的情形(上)
  • 特惠贷贴息金额怎么算的
  • 公司举办年会的心得体会
  • 现金流量表财务报表
  • 长期股权投资大白话解释
  • mysql开启远程访问权限
  • 开农贸市场拿补贴找哪个部门
  • 进项税抵扣销项税算法
  • 所得税纳税调增会计需要做业务处理吗
  • 土地使用权入账务处理
  • 三栏式明细账需要结账吗
  • 会计凭证装订的心得体会
  • 新品分析表格
  • 笔记本bios密码怎么强制清除
  • Win10 Mobile/PC build 10586.589曝光:老机型有份
  • linux如何释放内存空间
  • win10自定义功能键
  • 如何重设苹果手机的ID密码
  • mac入门视频教程
  • win8怎么打开蓝牙设置
  • Aero glass for Win8.1黑屏/不兼容弹窗的解决方法介绍
  • win10不能玩qq堂没反应
  • javascriptz
  • jquery插件使用教程
  • opengl绘制一个矩形
  • javascript实现2048游戏示例
  • unity3d怎么写代码
  • javascript入门教学
  • jQuery Ajax 实例代码 ($.ajax、$.post、$.get)
  • 国家税务总局宁夏回族自治区税务局
  • 电子税务局打印发票提示本机未检测到
  • 个人所得税完税证明
  • 个体工商户个人所得税
  • 千元版的发票
  • 郑州市国家税务局
  • 地方税务局投诉有用吗
  • 出售固定资产税收怎么算
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设