• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      求解背包問題的布谷鳥搜索算法

      2015-09-27 08:30:25許秋艷鹽城工學院信息工程學院鹽城224051
      現(xiàn)代計算機 2015年23期
      關鍵詞:布谷鳥搜索算法算例

      許秋艷(鹽城工學院信息工程學院,鹽城 224051)

      求解背包問題的布谷鳥搜索算法

      許秋艷
      (鹽城工學院信息工程學院,鹽城224051)

      1 背包問題的數(shù)學模型

      背包問題是計算機科學和管理科學中的一個典型優(yōu)化問題,有著極其重要的研究價值。就計算時間復雜程度而言,背包問題屬于經(jīng)典的組合優(yōu)化NP難問題。同時,背包問題在實際問題中有著廣泛的應用,如材料分割問題、投資選擇問題、項目組合問題等。

      最經(jīng)典的背包問題是0-1背包問題,該問題可以表示為:給定1個背包和n個物品,其中第i個物品的價值為pi,重量為wi,背包能夠容納的物品重量為c?,F(xiàn)在要選擇部分物品放入背包中,在保證放入物品的總重量不超過c的條件下,使得物品的總價值達到最大。背包問題的數(shù)學模型可以描述為:令pi和wi分別表示第i個物品的價值和重量,c表示背包能夠容納的物品總重量,設決策變量:

      則0-1背包問題可以表示成如下的0-1整數(shù)規(guī)劃模型

      目前求解背包問題的算法可以分為傳統(tǒng)優(yōu)化算法和現(xiàn)代啟發(fā)式算法兩大類,例如分枝定界法、動態(tài)規(guī)劃法、降階法、遺傳算法、蟻群優(yōu)化算法、微粒群算法等等。這些方法為求解背包問題提供了思路,但都無法完全有效求解。如何設計背包問題的求解方法,仍然是一個開放性的問題。

      2 背包問題的布谷鳥搜索算法

      布谷鳥搜索算法是由Yang和Deb在2009年提出的一種現(xiàn)代啟發(fā)式算法,其優(yōu)化原理源于對布谷鳥寄生育雛行為和鳥類的萊維飛行行為的模擬。布谷鳥搜索算法已經(jīng)在神經(jīng)網(wǎng)絡訓練、工程設計優(yōu)化、交通流量預測和人臉識別等方面等到成功應用。基于該算法良好的優(yōu)化性能,本文將算法用于背包問題的求解。

      布谷鳥搜索算法基本流程如下所示:

      算法布谷鳥搜索算法

      Begin

      群體初始化,Xi表示第i個個體(i=1,2,…,n)

      計算每個個體的適應度函數(shù)值Fi(i=1,2,…,n)While(未達到最大迭代次數(shù))采用萊維飛行生成新解Xi

      計算新解Xi的適應度函數(shù)值Fi

      隨機選擇候選解Xj

      If Fi>Fj

      采用新解替換候選解End

      根據(jù)發(fā)現(xiàn)概率Pa舍棄差的解

      保留每次迭代中產(chǎn)生的最好的解

      End

      End

      上述布谷鳥搜索算法是為求解連續(xù)優(yōu)化問題而提出的,為充分發(fā)揮其在處理連續(xù)優(yōu)化問題的優(yōu)勢,仍限定算法的搜索空間為連續(xù)空間,且搜索范圍為[0,1]。為將算法搜索空間的解和背包問題離散的解相對應,采用如下方法:如果Xij>rand,則其問題對應的分量取1;否則取0。其中,Xij表示第i個解的第j個分量;rand表示0到1之間的隨機數(shù)。

      3 數(shù)值實驗

      圖1 算例2的優(yōu)化示意圖

      圖2 算例2的優(yōu)化示意圖

      為驗證所提算法的優(yōu)化性能,采用背包問題的典型算例進行實驗。算法采用MATLAB(R2011a)軟件編程實現(xiàn),在CPU為i7、內(nèi)存為4G的Dell臺式機上運行。大量的數(shù)值實驗表明,所提算法具有良好的優(yōu)化性能。限于篇幅,僅給出其中2個算例。

      算例1物品件數(shù)n=10,各個物品重量w=[95,4,60,32,23,72,80,62,65,46],各個物品價值p=[55,10,47,5,4,50,8,61,85,87],背包最大重量c=269,最優(yōu)值為295。

      算例2物品件數(shù)n=20,各個物品重量w= [92,4,43,83,84,68,92,82,6,44,32,18,56,83,25,96,70,48,14,58],各個物品價值 p=[44,46,90,72,91,40,75,35,8,54,78,40,77,15,61,17,75,29,75,63],背包最大重量c=878,最優(yōu)值為1024。

      采用本文提出的布谷鳥搜索算法,對這2個算例進行求解,均可以獲得最優(yōu)解。圖1-圖2給出了算法的優(yōu)化示意圖。

      本文提出的布谷鳥搜索算法在求解背包問題時表現(xiàn)出良好的優(yōu)化性能,將算法用于其他類型的背包問題(如非線性背包問題、多維背包問題和多目標背包問題等)是進一步的研究方向。

      [1]Yang X,Deb S.Cuckoo search via levy flights[C].World Congress on Nature&Biologically Inspired Computing.Piscataway:IEEE Publications,2009:210-214.

      [2]Yang X S,Deb S.Engineering optimization by cuckoo search[J].International Journal of Mathematical Modeling and Numerical Optimization,2010,1(4):330-343.

      [3]樊小毛,馬良.0-1背包問題的蜂群優(yōu)化算法[J].數(shù)學的實踐與認識,2010,40(6):155-160.

      Knapsack Problem;Cuckoo Search Algorithm;Combinatorial Optimization

      Cuckoo Search Algorithm for Solving Knapsack Problem

      XU Qiu-yan
      (School of Information Engineering,Yancheng Institute of Technology,Yancheng 224051)

      1007-1423(2015)23-0032-03

      10.3969/j.issn.1007-1423.2015.23.007

      許秋艷(1981-),女,江蘇東臺人,碩士,講師,研究方向為算法設計及其應用

      2015-06-26

      2015-08-05

      背包問題是計算機科學一種典型的組合優(yōu)化難題。為處理背包問題,設計基于布谷鳥搜索算法的優(yōu)化方法。布谷鳥搜索算法是一種新型現(xiàn)代啟發(fā)式算法,在求解連續(xù)優(yōu)化問題時表現(xiàn)出良好的優(yōu)化性能。在求解背包問題時,算法的搜索空間限制在連續(xù)空間,并通過自定義的映射,將背包問題的解空間和算法的搜索空間相對應。數(shù)值試驗驗證該算法的可行性和有效性。

      背包問題;布谷鳥搜索算法;組合優(yōu)化

      Knapsack problem (KP)is a typical NP-hard problem in combinatorial optimization in computer science.To deal with KP,proposes a method based on cuckoo search algorithm(CSA).CSA is a novel metaheuristic and shows good performance in solving continuous optimization problems.For solving KP,the search space of CSA is restricted in continuous space.The solution space of KP is corresponded to the search space of CSA by the self-defined map.The experimental results show that the proposed algorithm is feasible and effective.

      猜你喜歡
      布谷鳥搜索算法算例
      布谷鳥讀信
      布谷鳥讀信
      改進的和聲搜索算法求解凸二次規(guī)劃及線性規(guī)劃
      噓!布谷鳥來了
      大灰狼(2019年4期)2019-05-14 16:38:38
      布谷鳥叫醒的清晨
      劍南文學(2016年14期)2016-08-22 03:37:18
      基于振蕩能量的低頻振蕩分析與振蕩源定位(二)振蕩源定位方法與算例
      互補問題算例分析
      基于汽車接力的潮流轉移快速搜索算法
      基于逐維改進的自適應步長布谷鳥搜索算法
      基于CYMDIST的配電網(wǎng)運行優(yōu)化技術及算例分析
      西吉县| 壶关县| 广灵县| 宁津县| 延边| 梁河县| 定襄县| 兴化市| 青海省| 榆中县| 宝清县| 吕梁市| 崇明县| 南充市| 乌什县| 桦甸市| 利川市| 深水埗区| 桦南县| 安徽省| 大余县| 遂平县| 南雄市| 玉林市| 古蔺县| 福泉市| 凤冈县| 莱阳市| 文登市| 晋江市| 西华县| 胶南市| 沅江市| 芜湖市| 项城市| 依安县| 阿瓦提县| 南江县| 洛阳市| 霍林郭勒市| 同江市|