位置: 编程技术 - 正文

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)

  • 电费发票隔月开如何做账
  • 残疾人保障金为什么是小数
  • 资源税的征税对象都是原矿和选矿
  • 什么是一般公共财政预算收入
  • 费用发票跨月可以入帐吗
  • 建筑公司核定征收所得税怎么算
  • 前年购买的设备怎么入账
  • 税控发票包括哪些
  • 应付账款的进项税分录
  • 公司账户没有钱怎么办
  • 15-算
  • 2021通行费抵扣税率
  • 职工报销费用的处理流程
  • 作废已开具的普通发票
  • 缴纳的教育费附加可以税前扣除吗
  • 保险营销员的佣金收入怎么交个税
  • 原材料对外投资进项税额可以抵扣吗
  • 递延所得税资产对应的会计科目
  • 发票未到的费用怎么处理
  • 小规模收入未达50万
  • 研发成功的产品卖出去怎么做账
  • window11调节屏幕亮度
  • 棚户区改造贷款管理办法
  • svchost程序错误怎么修复
  • php 验证码
  • PHP:imagecolorresolve()的用法_GD库图像处理函数
  • phppublic function
  • 对外支付佣金需要扣缴所得税吗
  • 存货盘盈盘亏的账务处理
  • php提交post数据
  • 让渡资产使用权包含哪些内容
  • 销售产品是销项税额还是进项税额
  • php中foreach循环遍历数组
  • js中的截取字符串
  • 玩转ChatGPT:中科院ChatGPT Academic项目部署与测评
  • html扫码功能
  • php调用微信扫描二维码
  • 销售旧货物的增值税
  • 外包员工食堂怎么做账
  • 驱动开发:内核是什么
  • el-form表单
  • 交易性金融资产入账价值怎么计算
  • 电梯维保费属于什么费用
  • SQL server 2008安装程序遇到以下错误 sku
  • 研发费用的范围包括哪些
  • MySQL读写分离企业方案
  • sql with as用法详解
  • 计提本月应交增值税会计科目
  • 工会经费和工会会费的区别与联系
  • 短期偿债能力是企业的任何利益关系人都
  • 其他业务支出借方增加还是减少
  • 关于发票冲账应该怎么写
  • 公司借钱不还怎么办
  • 暂估入库成本差异
  • 员工预支工资属于什么科目
  • 房地产企业资产减值损失
  • mysql查询包含
  • mysq删除数据库
  • 繁体系统安装简体软件
  • win8已共享但别电脑无权限
  • linux系统中的输入输出分为三类
  • win8创建系统映像
  • windows出现问题怎么处理
  • win10系统edge浏览器兼容性
  • Win10 Mobile/WP8.1优秀专业摄影应用OneShot本周再次更新:修复Bug和优化性能
  • 电脑自带win8是装win7还是win10
  • windows累积更新失败怎么办
  • win7怎么样激活
  • 分形图形学
  • cluster into
  • node.js怎么样
  • 提高网站性能
  • node+mongodb
  • shell脚本显示进度条
  • android中文文档
  • 使用脚本什么意思
  • adb push、adb install 和强制安装
  • Android之BroadcastReceiver
  • Android---43---Service之IntentService
  • 淘宝模拟生成器
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设