96SEO 2026-02-23 11:16 12
该条路概率权重该点…这里使用了蚁群算法求解了旅行商问题同时结合了simpy来绘图

pheromone[self.now][self.not_to_foods[i]]
distance[self.now][self.not_to_foods[i]])
该条路概率权重该点信息素^信息素权重*1/路径长^路径权重/总和这里后面会用random.choices就不用除了
new_pheromone[self.route[i]][self.route[i
总信息素会挥发volatilize比例然后所有蚂蚁路径每一段加上固定释放的信息量/路径总长度
在这里我们尝试用蚁群算法求解旅行商问题简而言之就是寻找一条链接所有点的最短路径最后要回到初始点
我想绘制一下每只蚂蚁的行走过程所以使用上次的simpy包来模拟一下
这个simpy包主要是为了更好的可视化模拟训练过程你也可以给每只蚂蚁单独线程代替
或者干脆不用管过程只用一轮一轮的上蚂蚁在信息素部分做点处理光看结果也可以。
总之大多要比simpy快class
每次遵从信息素的指引选择下一个城市直到没有可选城市回到初始位置然后根据路径总长度在路径上散播信息素def
这里我们为了以后整信息素时不用遍历顺便保存一下走过的长度self.route
到达食物路径一个例子是[2,1,3,2]self.not_to_foods
下一个所在位置self.Initial_Position(random.randint(0,foods_n-1))
走的时间画图就是找到起始食物点然后加上起始和终点的向量乘以当前时间-出发时间/路长就是蚂蚁位置def
添加到路径self.not_to_foods.remove(n)
下一个要到的食物self.route.append(next_food)
self.not_to_foods:self.not_to_foods.remove(next_food)
根据信息素和路径寻找下一个食物len_not_to_foods
选一个路径的概率是该点信息素^信息素权重*1/路径长^路径权重/总和这里后面会用random.choices就不用除了probability[i]
pheromone[self.now][self.not_to_foods[i]]
distance[self.now][self.not_to_foods[i]])
random.choices(self.not_to_foods,
更新信息素矩阵先添加到一个临时变量中信息素矩每隔一段时间后自己会挥发并将这个变量添加进去。
for
range(foods_n):new_pheromone[self.route[i]][self.route[i
self.sum_lennew_pheromone[self.route[i
new_pheromone[self.route[i]][self.route[i
self.Next_Food()[0]self.Set_Now(next_food)
env.timeout(distance[self.now][next_food])
self.route[0]self.Set_Now(next_food)
env.timeout(distance[self.now][next_food])
self.routeself.Initial_Position(random.randint(0,foods_n-1))
我想要平均走完一波蚂蚁更新一波那么我大概需要等待平均总路长的时间因为假设蚂蚁1m/s这里就用(foods_n1)/2,两点间平均距离大概是0.5yield
所有食物位置支持高维不过绘图只有二维python三维图太卡了只测试二维pheromone
一样的位置就是0不算了continuedistance[i][j]
range(i):plt.plot([foods[i][0],foods[j][0]],[foods[i][1],foods[j][1]],linewidthpheromone[i][j]/100)plt.scatter(foods[i][0],
到起始食物点然后加上起始和终点的向量乘以当前时间-出发时间/路长就是蚂蚁位置if
foods[ants[i].now]else:position
\distance[ants[i].now][ants[i].next_food]plt.scatter(position[0],
position[1])plt.text(position[0],
刷新图形plt.draw()plt.pause(time_particles)yield
env启动env.process(Change_Pheromone(env))
启动信息素矩阵env.process(plt_Refresh())
启动所有蚂蚁env.process(ants[i].run())ants_n
运行模拟print(min_route,min_distance)
plt.pause(10)这一行同时可以调大time_particles
作为专业的SEO优化服务提供商,我们致力于通过科学、系统的搜索引擎优化策略,帮助企业在百度、Google等搜索引擎中获得更高的排名和流量。我们的服务涵盖网站结构优化、内容优化、技术SEO和链接建设等多个维度。
| 服务项目 | 基础套餐 | 标准套餐 | 高级定制 |
|---|---|---|---|
| 关键词优化数量 | 10-20个核心词 | 30-50个核心词+长尾词 | 80-150个全方位覆盖 |
| 内容优化 | 基础页面优化 | 全站内容优化+每月5篇原创 | 个性化内容策略+每月15篇原创 |
| 技术SEO | 基本技术检查 | 全面技术优化+移动适配 | 深度技术重构+性能优化 |
| 外链建设 | 每月5-10条 | 每月20-30条高质量外链 | 每月50+条多渠道外链 |
| 数据报告 | 月度基础报告 | 双周详细报告+分析 | 每周深度报告+策略调整 |
| 效果保障 | 3-6个月见效 | 2-4个月见效 | 1-3个月快速见效 |
我们的SEO优化服务遵循科学严谨的流程,确保每一步都基于数据分析和行业最佳实践:
全面检测网站技术问题、内容质量、竞争对手情况,制定个性化优化方案。
基于用户搜索意图和商业目标,制定全面的关键词矩阵和布局策略。
解决网站技术问题,优化网站结构,提升页面速度和移动端体验。
创作高质量原创内容,优化现有页面,建立内容更新机制。
获取高质量外部链接,建立品牌在线影响力,提升网站权威度。
持续监控排名、流量和转化数据,根据效果调整优化策略。
基于我们服务的客户数据统计,平均优化效果如下:
我们坚信,真正的SEO优化不仅仅是追求排名,而是通过提供优质内容、优化用户体验、建立网站权威,最终实现可持续的业务增长。我们的目标是与客户建立长期合作关系,共同成长。
Demand feedback