日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

粒子群算法实例-求解函数极值

發(fā)布時間:2025/3/20 编程问答 19 豆豆
生活随笔 收集整理的這篇文章主要介紹了 粒子群算法实例-求解函数极值 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

前面介紹了《粒子群算法》的基本原理,這里結(jié)合實例,看看粒子群算法是怎樣解決實際問題的。采用過的函數(shù)和《遺傳算法實例》中的一樣:

f(x)=x+10sin5x+7cos4x

求其在區(qū)間[-10,10]之間的最大值。下面是該函數(shù)的圖像:

在本例中,我們可以把x作為個體的染色體,函數(shù)值f(x)作為其適應(yīng)度值,適應(yīng)度越大,個體越優(yōu)秀,最大的適應(yīng)度就是我們要求的最大值。
直接看代碼吧(直接看注釋就能看懂)。

# -*- coding: utf-8 -*-import numpy as np# 粒子(鳥) class particle:def __init__(self):self.pos = 0 # 粒子當(dāng)前位置self.speed = 0self.pbest = 0 # 粒子歷史最好位置class PSO:def __init__(self):self.w = 0.5 # 慣性因子self.c1 = 1 # 自我認(rèn)知學(xué)習(xí)因子self.c2 = 1 # 社會認(rèn)知學(xué)習(xí)因子self.gbest = 0 # 種群當(dāng)前最好位置self.N = 20 # 種群中粒子數(shù)量self.POP = [] # 種群self.iter_N = 100 # 迭代次數(shù)# 適應(yīng)度值計算函數(shù)def fitness(self, x):return x + 10 * np.sin(5 * x) + 7 * np.cos(4 * x)# 找到全局最優(yōu)解def g_best(self, pop):for bird in pop:if bird.fitness > self.fitness(self.gbest):self.gbest = bird.pos# 初始化種群def initPopulation(self, pop, N):for i in range(N):bird = particle()bird.pos = np.random.uniform(-10, 10)bird.fitness = self.fitness(bird.pos)bird.pbest = bird.fitnesspop.append(bird)# 找到種群中的最優(yōu)位置self.g_best(pop)# 更新速度和位置def update(self, pop):for bird in pop:# 速度更新speed = self.w * bird.speed + self.c1 * np.random.random() * (bird.pbest - bird.pos) + self.c2 * np.random.random() * (self.gbest - bird.pos)# 位置更新pos = bird.pos + speedif -10 < pos < 10: # 必須在搜索空間內(nèi)bird.pos = posbird.speed = speed# 更新適應(yīng)度bird.fitness = self.fitness(bird.pos)# 是否需要更新本粒子歷史最好位置if bird.fitness > self.fitness(bird.pbest):bird.pbest = bird.pos# 最終執(zhí)行def implement(self):# 初始化種群self.initPopulation(self.POP, self.N)# 迭代for i in range(self.iter_N):# 更新速度和位置self.update(self.POP)# 更新種群中最好位置self.g_best(self.POP)pso = PSO() pso.implement()for ind in pso.POP:print("x=", ind.pos, "f(x)=", ind.fitness)

某一次執(zhí)行中生成的種群結(jié)果:
x= 7.44390041845 f(x)= 2.34326279816
x= 9.48378207609 f(x)= 13.3821268397
x= 6.3672261374 f(x)= 17.0548851104
x= 7.85674414126 f(x)= 24.855362869
x= 7.85674414216 f(x)= 24.855362869
x= 7.85674414201 f(x)= 24.855362869
x= 7.85674414185 f(x)= 24.855362869
x= 8.02319542929 f(x)= 20.1093330013
x= 7.85674414327 f(x)= 24.855362869
x= 7.85674414414 f(x)= 24.855362869
x= 7.85674414288 f(x)= 24.855362869
x= 7.85674414296 f(x)= 24.855362869
x= 7.85674414178 f(x)= 24.855362869
x= 7.85674414174 f(x)= 24.855362869
x= 7.8567441494 f(x)= 24.855362869
x= 6.44588532539 f(x)= 19.2820411821
x= 7.85674414041 f(x)= 24.855362869
x= 9.93067628809 f(x)= 1.12241685006
x= 7.8567441425 f(x)= 24.855362869
x= 8.81867117742 f(x)= 4.6512749143
得到的最優(yōu)解結(jié)果為:
X=7.85674414174 f(x)=24.855362869
從圖像上看符合要求。其結(jié)果圖像如下,紅色點表示種群中個體的位置。

# 繪圖代碼 import matplotlib.pyplot as plt def func(x):return x + 10 * np.sin(5 * x) + 7 * np.cos(4 * x)x = np.linspace(-10, 10, 10000) y = func(x)scatter_x = np.array([ind.pos for ind in pso.POP]) scatter_y = np.array([ind.fitness for ind in pso.POP]) plt.plot(x, y) plt.scatter(scatter_x, scatter_y, c='r') plt.show()

總結(jié)

以上是生活随笔為你收集整理的粒子群算法实例-求解函数极值的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 日韩成人福利视频 | 中文字幕在线观看国产 | 精品美女一区二区三区 | 色a视频| 一女被多男玩喷潮视频 | www.久草.com| 丹丹的呻吟声1一7 | 欧美成人免费观看视频 | 超碰超碰 | 成人片免费看 | 免费一级片在线观看 | 末发成年娇小性xxxxx | 国产成人精品影视 | 少妇一级淫片免费看 | ass大乳尤物肉体pics | av夜夜操 | 在线视频网站 | 日韩欧美一二三四区 | 国产精品三级在线观看 | 国产毛片3| 午夜影院在线免费观看 | 少妇爽 | 免费av大全 | 激情综合婷婷 | 亚洲深夜福利 | 亚洲国产爱 | 成人a级免费视频 | 国产成人综合一区二区三区 | 天堂最新资源在线 | 黑人精品xxx一区一二区 | 亚洲美女屁股眼交8 | www.在线看 | 久久精品小视频 | 亚洲aaaaaa| 99av视频| 成人久久视频 | 在线免费看污片 | av网址免费在线观看 | 成人av影视在线 | 亚洲欧美福利 | 中日韩av电影 | 精品国内自产拍在线观看视频 | 国产精品久久久久久久久久久久久久 | 大咪咪dvd| 乌克兰av在线 | 台湾佬中文字幕 | 亚洲mv一区| 9i看片成人免费 | 影音先锋天堂网 | 鬼眼 电影 | 国产精品自拍av | 插我舔内射18免费视频 | 女同视频网站 | 国产在线视频自拍 | 好男人网站 | 国产成人tv | 色噜噜一区二区三区 | 欧美xxx视频 | 日韩有码在线视频 | 日韩一级免费 | 欧美 唯美 清纯 偷拍 | 成人在线a| 狠狠五月天 | 韩国美女一区二区 | 国产在线专区 | 筱田优av | 9久精品| 欧美精品一二区 | 成年网站在线播放 | 久久久精选 | 国产精品情侣 | 最新在线黄色网址 | 亚洲一区精品视频 | www.成人av.com | 欧美二区在线观看 | 最近中文字幕mv | 国产夫妻性生活视频 | 亚洲一区二区三区四区在线 | 明日花绮罗高潮无打码 | 亚洲一区二区精品 | 中文字幕第27页 | 五月天婷婷综合 | 91啪国产在线 | 亚洲AV成人无码久久精品巨臀 | 密臀av一区二区 | 91大神精品 | 96精品视频在线观看 | 亚洲人成免费电影 | 亚洲成av | 国产精品视频在线看 | 国产区高清 | 国产二区av | 色乱码一区二区三区网站 | 中文字幕在线观看不卡 | 国产95在线 | 三级一区二区 | 欧美日韩国产精品 | 欧美在线二区 | 朝鲜黄色片 |