国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

混合遺傳模擬退火算法求解背包問題

2012-11-22 01:16:02
關(guān)鍵詞:模擬退火背包適應度

林 耿

(閩江學院 數(shù)學系,福建 福州 350108)

背包問題是運籌學中一個著名的問題,它是指從n個不同價值和重量的物品集合中選擇若干個物品裝入指定容量C的背包,使得被選物品的總重量不超過背包容量且價值總和最大.假設(shè)第i個物品的價值和重量分別為pi和wi,引入向量x∈{0,1}n,當物品i被選擇放入背包時,xi=1;否則xi=0.背包問題可以建模為如下的整數(shù)規(guī)劃模型:

背包問題屬于帶約束的NP困難問題[1],在現(xiàn)實生活中有著廣泛的應用背景,比如貨物裝載、工廠下料、電子商務和軟硬件劃分等[2].并且背包問題往往作為子問題出現(xiàn)在許多復雜的組合優(yōu)化問題中,所以研究背包問題的有效求解算法具有重要的理論和實際意義.

常見的求解背包問題的算法有精確算法和智能優(yōu)化算法[3-6].精確算法具有指數(shù)時間的算法復雜度,難以應用于求解大規(guī)模問題.智能優(yōu)化算法能夠較快地求得精度較高的近似解,特別是遺傳算法和模擬退火算法操作簡單實用,受到了學者們的廣泛關(guān)注.然而,每種算法都有其自身的優(yōu)勢和缺陷.遺傳算法[7]是一種基于自然選擇和自然遺傳學機制上的隨機搜索算法,具有較強的全局搜索性能,但是遺傳算法在搜索過程中容易出現(xiàn)早熟現(xiàn)象.模擬退火算法模擬固體退火的過程,不僅能夠向目標函數(shù)優(yōu)化的方向迭代,而且通過引入接受準則,能夠以一定概率接受較差的解,從而避免陷入局部最優(yōu)解,但當問題規(guī)模較大時,收斂速度較慢.

本研究將模擬退火算法有效地融入遺傳算法,結(jié)合遺傳算法和模擬退火算法的優(yōu)點,提出了一種求解背包問題的混合遺傳模擬退火算法,有效地避免陷入局部最優(yōu)解.與單純的遺傳算法比較,實驗結(jié)果表明了該混合算法求解背包問題的有效性和適用性.

1 混合遺傳模擬退火算法

遺傳算法具有很強的全局搜索能力,但是局部搜索能力較差,容易陷入局部最優(yōu)解.模擬退火算法具有較強的局部搜索能力,但搜索速度較慢.本研究將這兩個算法結(jié)合起來,提出混合的遺傳模擬退火算法,隨機構(gòu)造種群,采用模擬退火對種群中的解進行局部搜索,引入新的種群更新策略,保持種群的多樣性,避免早熟現(xiàn)象發(fā)生.

1.1 適應度函數(shù)

1.2 改進的模擬退火局部搜索算法

傳統(tǒng)模擬退火算法能夠有效避免陷入局部最優(yōu)解,但當問題的規(guī)模較大時,模擬退火算法的收斂速度較慢.本研究基于模擬退火的思想,提出了一個改進模擬退火局部搜索算法SALS,加快了局部搜索的速度.設(shè)x為初始解,N(x)為x的某個鄰域結(jié)構(gòu),T>0為SALS算法的參數(shù),則SALS算法可描述為:

(1)初始化,down=0,xmax=x.

(2)計算N(x)中所有解的適應度函數(shù)值,假設(shè)y是N(x)中適應度函數(shù)值最大的解,令Δf=f(y)-f(x).

(3)如果Δf>0,則令x=y,轉(zhuǎn)(2);否則,如果f(y)>f(xmax),令xmax=y,轉(zhuǎn)(4).

(4)如果down

1.3 交叉算子

假設(shè)x和y是從種群中選擇到的兩個解,本研究采用fixed交叉算子[8]來產(chǎn)生新的解向量z.fixed交叉算子的基本思想是:如果第i個物品在x和y中都是處于裝入狀態(tài),則在新的解中將該物品裝入背包,即zi=1;如果第i個物品在x和y中都是處于未裝入狀態(tài),則在新的解中不將該物品裝入背包,即zi=0;如果第i個物品在x和y中的狀態(tài)不一樣,那么在新的解中以50%的概率裝入背包.

1.4 種群更新策略

良好的種群更新策略應當既能維持高質(zhì)量的解,又能保持種群的多樣性. 采用如下的種群更新策略:一個解如果能夠插入種群中,那么它要么提高了種群中解的質(zhì)量,要么使種群中的解更多樣化.假設(shè)x1和x2分別為種群中適應度函數(shù)值最大和最小的解,y為新產(chǎn)生的解.如果y的適應度函數(shù)值比x1大,即f(y)>f(x1),則將y插入種群,并將x2從種群中刪除.假設(shè)函數(shù)H(y,x1)表示解y和x1間的海明距離,函數(shù)H(x2,x1)表示解x2和x1間的海明距離,如果H(y,x1)+f(y)>H(x2,x1)+f(x1),則將y插入種群,并將x2從種群中刪除.否則,不改變種群的結(jié)構(gòu).

2 算法求解步驟

基于以上分析,提出了混合遺傳模擬退火算法,算法的具體步驟如下:

(1)隨機產(chǎn)生s個解向量構(gòu)造出初始種群{x1,…,xs}.

(2)對種群中的每個解xi應用改進的模擬退火局部搜索算法SALA進行局部搜索,所得結(jié)果仍記為xi.

(3)隨機選出種群中的兩個解,應用fixed交叉算子構(gòu)造新解z,并利用SALA算法對z進行優(yōu)化,優(yōu)化結(jié)果仍記為z.

(4)應用更新策略更新種群.如果算法已經(jīng)持續(xù)NO次未找到更好的解,則停機,輸出種群中適應度函數(shù)值最大的解;否則轉(zhuǎn)(3).

其中,NO為算法的停止參數(shù).

3 仿真實驗

為了驗證本算法的有效性,選取文獻[6]中的實例來測試本算法,并將結(jié)果與文獻[6]中的結(jié)果進行對比.采用Visual C++進行編程實驗,實驗環(huán)境為AMD 2.11 GHz處理器,1 GB內(nèi)存,Windows XP 操作系統(tǒng),實驗例子的數(shù)據(jù)如下:

P={p1,…,p25}={350,310,300,295,290,287,283,280,272,270,265,251,230,220,215,212,207,203,202,200,198,196,190,182,181},

W={w1,…,w25}={135,133,130,11,128,123,20,75,9,66,105,43,18,5,37,90,22,85,9,80,70,17,60,35,57},C=1 400.文獻[6]采用遞歸算法求得該問題的最優(yōu)解,最優(yōu)解的目標函數(shù)值和總質(zhì)量分別為5 686和1 398.

表1 實驗結(jié)果

由表1可得,混合遺傳模擬退火算法能夠找到比單純的遺傳算法更好的解,能夠避免早熟現(xiàn)象并有效地提高背包的利用率.

4 結(jié)論

提出了一種求解背包問題的混合遺傳模擬退火算法,該算法發(fā)揮了遺傳算法和模擬退火算法的優(yōu)勢,采用同時考慮解的質(zhì)量和種群多樣性的種群更新策略,有效地避免了早熟現(xiàn)象,并且加快了局部搜索速度.與單純的遺傳算法比較,實驗結(jié)果證明了算法的有效性.

參考文獻:

[1]Garey M,Johnson D.Computers and intractability:a guide to the theory of NP-completeness[M].Freeman:San Francisco,1979:71-72.

[2]Ray A,Wu J G,Thambipillai S. Knapsack model and algorithm for HW/SW partitioning problem[J].Lecture Notes in Computer Science,2004(3036):200-205.

[3]趙新超,韓宇,艾文寶.求解背包問題的一種改進遺傳算法[J].計算機工程與應用,2011,47(24):34-36.

[4]苗世清,高岳林.求解0/1背包問題的離散差分進化算法[J].小型微型計算機系統(tǒng),2009,30(9):1828-1830.

[5]錢淑渠,武慧虹,涂歆.動態(tài)免疫優(yōu)化算法及其在背包問題中的應用[J].計算機工程,2011,37(20):216-218.

[6]程春英,張玉春.利用遺傳算法求解0/1背包問題[J].內(nèi)蒙古民族大學學報,2010,25(6):637-639.

[7]陳國良,王煦法,莊鎮(zhèn)泉,等.遺傳算法及其應用[M].北京:人民郵電出版社,2001.

[8]Chardaire P,Barake M, McKeown G P.A probe-based heuristic for graph partitioning[J].IEEE Transactions on Computers,2007,56(12):1707-1720.

猜你喜歡
模擬退火背包適應度
改進的自適應復制、交叉和突變遺傳算法
計算機仿真(2022年8期)2022-09-28 09:53:02
大山里的“背包書記”
模擬退火遺傳算法在機械臂路徑規(guī)劃中的應用
一包裝天下 精嘉Alta銳達Sky51D背包體驗
鼓鼓的背包
創(chuàng)意西瓜背包
童話世界(2017年11期)2017-05-17 05:28:26
基于空調(diào)導風板成型工藝的Kriging模型適應度研究
中國塑料(2016年11期)2016-04-16 05:26:02
基于模糊自適應模擬退火遺傳算法的配電網(wǎng)故障定位
SOA結(jié)合模擬退火算法優(yōu)化電容器配置研究
基于遺傳-模擬退火算法的城市軌道交通快慢車停站方案
柳江县| 得荣县| 米泉市| 茌平县| 错那县| 莱州市| 砀山县| 奇台县| 肥城市| 探索| 南靖县| 南郑县| 安达市| 同江市| 望奎县| 南京市| 阜城县| 友谊县| 曲周县| 蒙自县| 佛山市| 桦甸市| 宜君县| 孟津县| 山阴县| 通渭县| 尉氏县| 朝阳市| 富蕴县| 铜山县| 英山县| 柯坪县| 武城县| 武强县| 沂源县| 故城县| 辽源市| 灌云县| 汕头市| 瑞金市| 土默特右旗|