位置: 编程技术 - 正文

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)

  • 盈余公积转增资本会影响所有者权益吗
  • 缴纳增值税影响损益吗
  • 季报需要注意什么
  • 信息采集需要填两个家庭成员,但只能有一个监护人
  • 公司对公账户给员工发工资税是谁扣
  • 对公账户发工资1万要交税吗
  • 付给总机构的管理费可以税前扣除吗
  • 劳务公司核定征收怎么交税的
  • 开外管证再省外预缴税收要怎么报税?
  • 凭证单据的整理
  • 捐赠个人支出需要交纳个税吗?
  • 印花税申报完成后如何缴款
  • 社保发票是普票还是专票
  • 小规模可以收专票当费用票吗
  • 收到普通发票税号错了不改会怎么样
  • 开错的发票正常入账吗
  • 咨询者对咨询师产生移情
  • 税控盘没有反写会怎样
  • 公司法人变更账务需要重新建立吗
  • 工资发错了,多发了怎么办
  • 定额发票上除了发票章还有其他章吗
  • 2019年一般纳税人附加税减免政策
  • 内部存货交易的抵消分录例题讲解
  • 认缴制下收到股东转入的钱怎么入账
  • 未开票收入可以不开票吗
  • 公司自有房屋出租 营业范围
  • 收到科技局研发的短信
  • 苹果电脑截图快捷键
  • 内部控制的类型有哪些
  • 可以用鸿蒙系统的手机
  • 宝塔linux面板 7.5.2 腾讯云专享版
  • 装饰装修工程月薪多少
  • 对公转账存款
  • php数组函数,选班长
  • dwm.exe是啥
  • php多线程curl
  • 企业重组的特殊性税务处理 税屋
  • 如何使用rank函数排名
  • KITTI数据集可视化(一):点云多种视图的可视化实现
  • printfi
  • vget命令
  • 收到商业承兑汇票怎么兑现
  • 哪种银行贷款利息最低
  • 公司先垫付社保会计分录
  • 修改账本
  • 企业适用的增值税税率
  • 承兑汇票可以当现金用吗
  • 工程项目怎么挣钱
  • 经营租赁筹建期怎么计算
  • 购买的电子承兑公司怎么平账做收据
  • 财付通支付备付金
  • 进项发票还未收到可以认证吗
  • 固定资产账实不符违反的规定
  • 物业公司预收的物业费怎么做账
  • 信用卡账单最低还款额是什么意思
  • 预算凭证是什么
  • 季报企业所得税弥补亏损数怎么填
  • 待抵扣税额怎么做分录
  • 公司开办期间怎么界定
  • 发票盖章需要知道的10个问题
  • 营业费用属于什么类账户
  • 流言:Win9或终止32位系统 加速64位平台
  • apt-get update错误
  • freebsd服务器搭建
  • linux如何学
  • linux系统中安装软件的批处理文件
  • windows8怎么新建word文档
  • os x10.8
  • win7怎么更改用户名和密码
  • 微软kudo
  • javascript语法术语
  • python递归查找
  • Android as Bluetooth Low Energy Peripherial (GATT server).
  • 港澳台资企业
  • 财务跨期报销问题
  • 广西税务怎么交城乡养老保险
  • 广西壮族自治区图书馆
  • 青羊名字由来
  • 内蒙古税务总局网站官网
  • 山东税务自然人注册怎么回事
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设