日韩性视频-久久久蜜桃-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)容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 激情欧美综合 | 欧美福利网址 | 亚洲国产精品久久久久爰性色 | 日韩精品视频免费看 | 精品视频不卡 | 黄色在线观看视频网站 | 国产在线中文 | 夜夜操av| 夜夜草网 | 美女久久久久久 | 波多野结av衣东京热无码专区 | 狠狠干天天干 | 国产成人精品电影 | 日韩精品一线二线三线 | 亚洲最大网站 | 精品国产一区在线 | jizjiz中国少妇高潮水多 | 十八禁一区二区三区 | av中文资源| 久久久888| 老司机深夜福利在线观看 | 污视频网站免费看 | 国产91精品一区二区绿帽 | 久久久久久免费观看 | 国内精品久久久久久久久久 | 国产高清视频在线免费观看 | av色综合| 欧美成人精品欧美一级 | 成人午夜在线观看 | 亚洲男人天堂2019 | 好男人www在线视频 我们的2018在线观看免费高清 | 成人精品影院 | 污黄视频网站 | 国产亚洲第一页 | 亚洲福利精品视频 | 成年人黄色免费网站 | 亚洲爱| 国产在线视频你懂得 | 亚洲国产永久 | 成人午夜免费电影 | 97精品人妻一区二区三区 | 国产白丝一区二区三区 | 一级少妇毛片 | 欧美午夜在线视频 | 黄色小视频在线免费观看 | 日日射av| 欧美日韩一区二区在线视频 | 欧美日韩精品区 | h片在线观看视频 | 日本欧美一级 | heyzo在线播放 | 老司机av导航 | 麻豆 美女 丝袜 人妻 中文 | 国产国拍精品亚洲 | 自拍偷拍亚洲图片 | 日韩精品电影在线 | 91理论片午午伦夜理片久久 | 91精品亚洲 | 免费的黄色网 | 男人天堂999| 国产夫绿帽单男3p精品视频 | 国产综合免费视频 | 啪啪在线视频 | 杨幂毛片午夜性生毛片 | 美女福利视频一区 | 成人免费毛片视频 | 欧美中文字幕在线 | 国产日韩一区二区在线 | 五月综合激情日本mⅴ | 久久久久久9 | 伦伦影院午夜理伦片 | 91麻豆产精品久久久久久 | 久久久久久国产精品日本 | 国产对白videos麻豆高潮 | 在线观看免费av片 | 中文字幕第100页 | 懂色视频在线观看 | 日韩中文字幕av | 精品一区二区三区在线免费观看 | 久久精品视频无码 | 无码人中文字幕 | 91色网站| 午夜精品久久久 | 黄色激情毛片 | 91免费视频免费版 | 国产热99 | 性色av一区二区三区红粉影视 | 日韩欧美精品一区二区三区 | xxx日韩| 久久影视精品 | 爱爱动态图 | 国产白浆一区二区 | 色午夜 | 国产chinesehd精品露脸 | 日本黄色一区二区三区 | 色在线免费观看 | 狠狠躁日日躁夜夜躁av | 色妹子综合 | 欧美一区二区三区公司 |