果蝇优化算法-FOA

这段代码展示了如何用Python实现果蝇优化算法(FOA)。初始化参数后,通过迭代寻找最佳位置。最终,绘制了果蝇轨迹和预测值的变化图。
摘要由CSDN通过智能技术生成

import numpy as np
import matplotlib.pyplot as plt

sample = 50
iter_times = 100

def initParams(bestX,bestY,sample): 
    position = []
    fitness = []
    for num in range(sample):
        x,y = bestX+2*np.random.rand()-1,bestY+2*np.random.rand()-1
        S = 1/np.sqrt(x**2+y**2)
        smell = S**2-5
        position.append((x,y))
        fitness.append(smell)
    
    bestIndex = np.argmin(fitness)
    bestX,bestY = position[bestIndex]
    bestSmell = fitness[bestIndex]
    return bestX,bestY,bestSmell

bestX,bestY,bestSmell = initParams(10*np.random.rand(),10*np.random.rand(),sample)
xlist,ylist,value = [],[],[]
for time in range(iter_times):
    tmpX,tmpY,tmpSmell = initParams(bestX,bestY,sample)
    if tmpSmell < bestSmell:
        bestX = tmpX
        bestY

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值