一区二区三区电影_国产伦精品一区二区三区视频免费_亚洲欧美国产精品va在线观看_国产精品一二三四

聯(lián)系我們 - 廣告服務(wù) - 聯(lián)系電話:
您的當前位置: > 關(guān)注 > > 正文

粒子群算法原理 基于numpy6.2的粒子群算法詳解

來源:CSDN 時間:2023-02-09 07:53:10

目錄

1粒子群算法簡介2算法原理3迭代公式4算法流程5實例計算6代碼實現(xiàn)6.1 基于numpy6.2 基于sko.pso


(資料圖片)

1粒子群算法簡介

粒子群算法(Particle Swarm Optimization,簡稱PSO)是1995年Eberhart博士和Kennedy博士一起提出的。粒子群算法是通過模擬鳥群捕食行為設(shè)計的一種群智能算法。區(qū)域內(nèi)有大大小小不同的食物源,鳥群的任務(wù)是找到最大的食物源(全局最優(yōu)解),鳥群的任務(wù)是找到這個食物源。鳥群在整個搜尋的過程中,通過相互傳遞各自位置的信息,讓其他的鳥知道食物源的位置最終,整個鳥群都能聚集在食物源周圍,即我們所說的找到了最優(yōu)解,問題收斂。學(xué)者受自然界的啟發(fā)開發(fā)了諸多類似智能算法,如蟻群算法、布谷鳥搜索算法、魚群算法、捕獵算法等等。

2算法原理

這是一個根據(jù)鳥群覓食行為衍生出啟發(fā)式的算法,現(xiàn)在有一群鳥,他們一起出發(fā)覓食,目標就是找到可行域食物最豐富的位置。小鳥們在同一個微信群聊中,可以不斷共享自己找到的事物最豐富的地方。策略如下:

1. 每只鳥隨機找一個地方,按照一個隨機的方向出發(fā)。

2. 每飛一分鐘后, 每只鳥將自己找到的最優(yōu)地點以及事物存量共享到群里,然后計算出群體找到的最優(yōu)位置。

3. 每只鳥回顧自己的路徑,綜合考慮自己走過的最優(yōu)的位置和群體最優(yōu)位置決定下一步的方向。

4. 如果大家都到了同一個地方附近,就停止尋找,否則重復(fù)2 ,3 步。

整個群體的位置更新如下圖,每一個紅點即一個粒子: (圖片來自 scikit-opt)

而某一只鳥(其中一個粒子)的位置更新方法如下圖:

3迭代公式

迭代公式非常簡單明了 每一次的速度更新公式: 位置更新公式: c1,c2-加速常數(shù),調(diào)節(jié)學(xué)習(xí)最大步長 r1,r2-兩個隨機函數(shù),取值范圍[0,1],以增加搜索隨機性 w-慣性權(quán)重,非負數(shù),調(diào)節(jié)對解空間的搜索范圍。 那怎么判斷一個位置的優(yōu)劣呢? 需要求解的最小化目標函數(shù)稱為適應(yīng)度函數(shù), 將粒子的位置帶入適應(yīng)度函數(shù),結(jié)果越小越優(yōu)。

4算法流程

5實例計算

現(xiàn)在我們舉一個簡單的例子, 求解一維優(yōu)化問題計算的目標函數(shù) y = x 2 y=x^2 y=x2的最小值點。 初始化兩個粒子,位置分別是 x = ? 3 , x = 2 x = -3, x =2 x=?3,x=2, 初始速度為 v = 1 , v = ? 1 v=1 , v=-1 v=1,v=?1 ,為了計算簡便 w , c 1 , r 1 , c 2 , r 2 w,c_1,r_1,c_2,r_2 w,c1,r1,c2,r2參數(shù)值取1.

6代碼實現(xiàn)

6.1 基于numpy

import numpy as np import random # pso  def suit(x):    x1, x2=x    return -(x1-10) ** 2 + -(x2 - 3) ** 2  # + -x3 ** 2def best_p(current_p,person_best): #      x = np.zeros_like(current_p)     n,d = current_p.shape    for i in range(n):# 每個粒子比較一次        a = current_p[i]        b = person_best[i]        if suit(b)>suit(a):            x[i] = b        else: x[i]= a    return x         def global_b(person_best): # n*d     n,d= person_best.shape     s = []    for j in range(n):        s.append(suit(person_best[j]))            i = np.array(s).argmax()    x = np.array(person_best[i])    return x         # init  n = 40 # 粒子個數(shù)d = 2current_v =  np.array([[random.randint(1, 100) for i in range(n)]]).reshape(-1,d)current_p = np.array([[random.randint(1, 100) for i in range(n)]]).reshape(-1,d)person_best = current_pglobal_best = global_b(person_best)  T = 0   w=1   while  T<100000:            # if  all([current_p[i][0]==current_p[0][0] for i in range(len(current_p))]):    #     print(T,current_p)    #     break    if sum(person_best.std(axis=0))<.1:        break            else:            w = w*0.99996;r1 = random.random(); r2 = random.random()        current_v = w*current_v + r1*(person_best-current_p)+ r1*(global_best - current_p)        #  w = w*0.999        # current_v = w*current_v +(person_best-current_p)+(global_best - current_p)        current_p = current_p + current_v        person_best =  best_p(current_p, person_best)        global_best = global_b(person_best)         #current_v = current_v + 2* (person_best- current_p)+2*(global_best- current_p)        T+=1 print(T, person_best)

6.2 基于sko.pso

python sko庫中包含了常用的啟發(fā)式算法, 也包含粒子群算法PSO,可以直接調(diào)用,非常快捷方便 。

from sko.PSO import PSOdef demo_func(x):    x1, x2, x3 = x    return (x1-5) ** 2 + (x2 - 2) ** 2 + (x3-19) ** 2pso = PSO(func=demo_func, dim=3)fitness = pso.fit()print("best_x is ", pso.gbest_x, "best_y is", pso.gbest_y) >>>best_x is  [ 4.99981675  2.00044853 18.99955148] best_y is [4.35931123e-07]

責(zé)任編輯:

標簽:

相關(guān)推薦:

精彩放送:

新聞聚焦
Top 一区二区三区电影_国产伦精品一区二区三区视频免费_亚洲欧美国产精品va在线观看_国产精品一二三四
一本色道久久综合亚洲精品婷婷| 麻豆国产va免费精品高清在线| 日韩视频一区二区三区在线播放| 另类天堂视频在线观看| 国产精品一区二区黑丝| 国产精品揄拍500视频| 国产精品九色蝌蚪自拍| 伊大人香蕉综合8在线视| 国产亚洲一二三区| 欧美片网站免费| 国产视频亚洲精品| 国产精品v日韩精品| 欧美日韩亚洲不卡| 欧美精品麻豆| 永久久久久久| 日韩一级在线观看| 欧美国产日韩精品| 久久午夜国产精品| 韩国成人精品a∨在线观看| 精品福利电影| 制服丝袜亚洲播放| 欧美视频免费在线观看| 欧美成人久久| 国产精品一区二区三区久久久| 亚洲精品一区在线观看香蕉| 久久久久久久999| 亚洲免费电影在线| 国产精品久久激情| 中文在线不卡| 999亚洲国产精| 国产精品美女主播| 欧美亚洲综合在线| 狠狠色丁香婷婷综合久久片| 欧美激情久久久久| 亚洲视频在线播放| 一色屋精品亚洲香蕉网站| 欧美成人激情在线| 香蕉成人伊视频在线观看| 一区在线播放| 欧美精品久久99| 欧美一级久久| 亚洲国产日韩欧美综合久久 | 久久美女性网| 亚洲日本成人| 国产精品日韩在线播放| 欧美国产免费| 欧美一区二区三区在线观看视频| 日韩午夜在线电影| 国产日韩欧美精品| 国产精品草草| 欧美电影免费观看大全| 午夜在线精品| 99re66热这里只有精品3直播| 国产精品一区二区三区观看| 欧美高清视频| 久久久精品日韩| 亚洲国产精品第一区二区| 国产精品欧美日韩一区二区| 免费黄网站欧美| 免费成人av| 久久婷婷国产麻豆91天堂| 久久精品毛片| 欧美一级视频一区二区| 日韩亚洲精品在线| 在线日韩电影| 好吊视频一区二区三区四区| 国产精品女人毛片| 欧美精品日韩一本| 免费久久99精品国产自| 免费成人高清| 久久综合图片| 欧美日本韩国一区| 欧美精品日韩一本| 久久精品中文| 久久精品国产免费看久久精品| 亚洲午夜一二三区视频| 欧美亚洲专区| 欧美一级午夜免费电影| 久久国产精品色婷婷| 欧美一级专区免费大片| 久久先锋影音| 久久午夜电影| 在线一区二区三区做爰视频网站| 一本一道久久综合狠狠老精东影业| 91久久精品一区二区三区| 一本色道久久综合亚洲精品按摩| 亚洲精品国产视频| 亚洲一区二区日本| 亚洲午夜羞羞片| 欧美一区二区在线| 久久久久久久综合色一本| 亚洲一区不卡| 久久综合久久综合久久| 老司机精品导航| 欧美精品偷拍| 欧美午夜精品久久久久久浪潮| 国产乱码精品一区二区三| 国产一区av在线| 日韩午夜电影av| 亚洲小视频在线| 欧美激情一级片一区二区| 国产精品人成在线观看免费| 国产欧美视频一区二区三区| 亚洲国产精品精华液2区45| 亚洲免费av网站| 久久久精品网| 欧美日韩成人精品| 狠久久av成人天堂| 最新亚洲视频| 一区二区电影免费观看| 久久久精品动漫| 欧美精品粉嫩高潮一区二区| 国产亚洲欧美另类中文| 在线观看日韩欧美| 亚洲一区三区在线观看| 久久久久久久久久久久久久一区| 欧美日韩亚洲一区| 国产一区二区三区四区五区美女 | 亚洲精品美女91| 亚洲一二区在线| 久久久国产精品一区| 欧美日本在线观看| 国产色综合久久| 日韩午夜电影av| 久久精品国产免费观看| 久久精品99国产精品酒店日本| 欧美伦理在线观看| 国产在线不卡| 亚洲欧洲日韩女同| 开心色5月久久精品| 国产精品你懂的在线欣赏| 中文一区字幕| 欧美激情一二三区| 亚洲精品日本| 免费黄网站欧美| 欧美日韩精品在线视频| 今天的高清视频免费播放成人 | av成人免费在线| 欧美尤物巨大精品爽| 欧美日韩国产a| 亚洲福利电影| 久久久精品2019中文字幕神马| 国产精品激情偷乱一区二区∴| 亚洲二区在线观看| 亚洲精品孕妇| 欧美国产日产韩国视频| 激情丁香综合| 久久国产主播| 亚洲片在线观看| 欧美大片国产精品| 亚洲最黄网站| 欧美区国产区| 亚洲制服少妇| 国产精品久久久久久久第一福利 | 欧美午夜无遮挡| 99综合精品| 国产欧美日韩一区二区三区| 亚洲男同1069视频| 国产在线观看一区| 欧美亚洲免费高清在线观看| 悠悠资源网亚洲青| 久久一区二区三区超碰国产精品| 亚洲精品1区2区| 欧美大片免费观看| 亚洲在线免费观看| 国产精品免费小视频| 欧美中在线观看| 国产一区二区电影在线观看 | 欧美一区91| 欧美精品一区二区三区在线看午夜| 亚洲日本中文| 欧美精品在线视频| 香蕉久久一区二区不卡无毒影院 | 久久天天躁狠狠躁夜夜av| 欧美专区18| 国内视频精品| 欧美 日韩 国产 一区| 亚洲福利在线观看| 欧美高清视频在线| 亚洲精品在线观看免费| 久久久亚洲午夜电影| 亚洲激精日韩激精欧美精品| 免费欧美在线| 亚洲激情一区| 欧美日韩在线三区| 午夜在线精品偷拍| 国产精品嫩草99av在线| 欧美黑人一区二区三区| 亚洲图片欧洲图片av| 国产综合欧美| 欧美精品免费看| 欧美一区二区三区视频在线| 国产精品国产三级国产专区53 | 精品成人一区二区| 免费精品视频| 亚洲一区二区免费在线| 国产精品一级在线| 玖玖国产精品视频| 99国产一区| 国产在线精品一区二区夜色|