新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 具有量子行為的粒子群優化算法慣性權重研究

        具有量子行為的粒子群優化算法慣性權重研究

        作者: 時間:2012-07-30 來源:網絡 收藏

        本文引用地址:http://www.104case.com/article/148708.htm

        (1)各種方案隨ω的變化,削弱或失去了調節能力,在達到最大迭代次數時也未收斂;

        (2)即使在已搜索到最優解附近時,由于局部搜索能力太差,跳過了最優解。對于函數F2(x),ω3-QDPSO,ω4-QDPSO,QDPSO收斂速度都比較快,ω1=QDPSO和ω2-QDPSO的收斂速度就相對較慢一些。這是由于對多峰函數測試時,各種方案的初始化范圍附近可能存在最優解,所以減少了迭代次數,加快了速度。

        通過對4種方案的,這里選取方案1應用于0-1背包問題,并得到理想的結果。

        2 對改進應用到0-1背包問題

        2.1 0-1背包問題的數學描述

        0-1背包問題是一種典型的組合問題。0-1背包問題的描述如下:假設有n個物品,其大小和價值分別為wi和ci(其中wi>0,ci>0,i=1,2,…,n),背包的容量假設為V(V>0)。要求在背包的容量限制內,使所裝物品的總價值最大。該問題的數學模型可表示為:

        其中,當將物品i裝入背包時xi=1;否則xi=0。

        2.2 0-1背包問題的改進群算法

        改進群算法應用到0-1背包問題的思想:群中粒子的個數與每個粒子的維數相等。先定義二進制數x,x只能取0和1。再把粒子的種群數看作背包的個數n,對于每個粒子xi(其中i=1,2,…,n表示粒子個數)有n個維數,即1個粒子有n個位置。然后初始化每個粒子的速度vij,(其中j=1,2,…,n表示每個粒子位置的維數),每個粒子的每一維都對應一個初始化了的速度。對公式(8)進行變化:

        解決背包問題的步驟:

        (1)初始化粒子的速度和位置;

        (2)將初始化的位置向量代人式(9),在所得每個粒子的解中找到最優解pbest,并令pbest=gbest;

        (3)通過式(6)更新粒子的速度,對所得最優解進行修正,然后再次代入函數方程中繼續尋找新的最優解;

        (4)若達到終止條件,則結束迭代,輸出到存儲向量,即為所求結果;否則,k=k+1,轉步驟(3)。

        2.3 實驗仿真

        為了驗證ω1-QDPSO求解0/1背包問題的可行性及有效性,這里進行了2組實驗,每組實驗用ω1-QDPSO算法進行測試,每組算法運行50次。

        實驗一:取參數popsize=10,dimsize=10,c1=c2=2.05,genmax=1 000,g=0.968 5;N=10,V=269,W={95,4,60,32,23,72,80,62,65,46},C={55,10,47,5,4,50,8,61,85,87),得到實驗結果是max f=295,收斂平均迭代次數11。

        實驗二:取參數popsize=20,dimsize=20,c1=c2=2.05,genmax=1 000,g=0.968 5;N=20,V=878,W={92,4,43,83,84,68,92,82,6,44,32,18,56,83,25,96,70,48,14,58},C={44,46,90,72,91,40,75,35,8,54,78,40,77,15,61,17,75,29,75,63},得到實驗結果是max f=1024,收斂平均迭代次數23。

        ω1-QDPSO算法求解0-1背包問題,與文獻[9]中提出的用帶有死亡罰函數的粒子群算法求解0-1背包問題相比,其運行速度明顯提高。

        3 結 語

        本文通過采用4種方案對的粒子群算法的分析表明,QDPSO改進算法中的改變對性能的影響與經典PSO算法相比既具繼承性又具發展性,在算法精度上ω1-QDPSO的結果比較優,而在計算速度上ω3-QDPSO和ω4-QDPSO的結果更優。選擇其中算法性能相對較好的ω1-QDPSO算法應用于0-1背包問題,可以看出改進算法性能的改善在應用中得到更好的體現

        pid控制相關文章:pid控制原理



        上一頁 1 2 3 下一頁

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 潍坊市| 工布江达县| 吴江市| 小金县| 麟游县| 油尖旺区| 韶山市| 岗巴县| 拜泉县| 镇巴县| 塔城市| 汪清县| 青阳县| 定南县| 奉贤区| 利辛县| 田东县| 洛南县| 施秉县| 安龙县| 万州区| 马山县| 七台河市| 北辰区| 萨嘎县| 庐江县| 江源县| 福贡县| 满洲里市| 西吉县| 桐庐县| 鲁甸县| 池州市| 广元市| 台东县| 稷山县| 彭泽县| 禹城市| 紫金县| 南乐县| 百色市|