两个人的电影免费视频_国产精品久久久久久久久成人_97视频在线观看播放_久久这里只有精品777_亚洲熟女少妇二三区_4438x8成人网亚洲av_内谢国产内射夫妻免费视频_人妻精品久久久久中国字幕

基于二元群結(jié)構(gòu)蟑螂仿生算法的實(shí)值優(yōu)化方法與流程

文檔序號(hào):11287530閱讀:1217來(lái)源:國(guó)知局
基于二元群結(jié)構(gòu)蟑螂仿生算法的實(shí)值優(yōu)化方法與流程

本發(fā)明涉及一種基于二元群結(jié)構(gòu)蟑螂仿生算法的實(shí)值優(yōu)化方法。



背景技術(shù):

自然計(jì)算是通過(guò)模擬自然界事物獲得靈感的一類算法,通常具有自適應(yīng)、自組織、自學(xué)習(xí)能力,能夠解決傳統(tǒng)計(jì)算方法難于解決的各種復(fù)雜問(wèn)題。在過(guò)去三十年中,自然計(jì)算得到了廣泛的研究和應(yīng)用,許多靈感源于自然界的仿生算法被相繼提出,例如:神經(jīng)網(wǎng)絡(luò)、模擬退火算法、基因算法、差分進(jìn)化算法、粒子群算法蟻群算法等等。其中,粒子群和蟻群算法屬于自然計(jì)算中一類模擬群居生物行為的仿生算法,此類算法也被稱為群智能算法。

受蟑螂生物行為啟發(fā)的仿生算法是一類新近提出的群智能算法,發(fā)展不到十年。chen于2008年提出蟑螂群算法(cockroachswarmoptimization,簡(jiǎn)稱cso),cso算法模擬了蟑螂個(gè)體尾隨、離散、互食等行為,具有較高的尋優(yōu)效率。進(jìn)一步,通過(guò)在尾隨行為中引入權(quán)重系數(shù),一種改進(jìn)的蟑螂群算法(modifiedcso,簡(jiǎn)稱mcso)被提出。受生物學(xué)領(lǐng)域有關(guān)蟑螂生物行為研究文獻(xiàn)的啟發(fā),havens等人提出一類蟑螂侵?jǐn)_算法(roachinfestationoptimization,簡(jiǎn)稱rio)和饑餓蟑螂侵?jǐn)_算法(hungryrio,簡(jiǎn)稱hrio),havens等人通過(guò)實(shí)驗(yàn)證明hrio算法的效率優(yōu)于基本的pso算法。以上述算法為基礎(chǔ),其他一些改進(jìn)的蟑螂仿生算法也相繼被提出。然而已有的蟑螂仿生算法普遍存在著早熟收斂問(wèn)題,算法容易過(guò)早的收斂到一個(gè)局部最優(yōu)解,進(jìn)而失去了解的多樣性,陷入局部最優(yōu)。



技術(shù)實(shí)現(xiàn)要素:

本發(fā)明的目的是:提供一種基于二元群結(jié)構(gòu)蟑螂算法的實(shí)值優(yōu)化方法,將基本cso算法種群中的蟑螂個(gè)體根據(jù)下標(biāo)劃分為多個(gè)子群,以整群和子群二元結(jié)構(gòu)為基礎(chǔ)提出兩種不同的尋優(yōu)計(jì)算數(shù)學(xué)模型,最后通過(guò)貪婪選擇策略來(lái)計(jì)算得出蟑螂個(gè)體最終行進(jìn)的位置,完成最優(yōu)解計(jì)算。

為實(shí)現(xiàn)上述目的,本發(fā)明采取以下技術(shù)方案:將蟑螂種群根據(jù)蟑螂個(gè)體下標(biāo)劃分為若干子群;每次函數(shù)評(píng)價(jià)中,蟑螂個(gè)體隨機(jī)地在整群或子群組成的二元結(jié)構(gòu)中完成尋優(yōu)計(jì)算,并通過(guò)貪婪選擇策略完成蟑螂下一步行進(jìn)位置計(jì)算,進(jìn)而完成整個(gè)算法的最優(yōu)解計(jì)算;其包括如下步驟:

步驟1:d維解空間內(nèi),初始化一個(gè)規(guī)模為n的蟑螂種群,種群中蟑螂個(gè)體i本質(zhì)上為位置向量xi=(xi,1,xi,2,…,xi,d),(i=1,…,n),初始階段應(yīng)盡可能的使種群中蟑螂均勻分布于整個(gè)解空間;

步驟2:初始化子群規(guī)模為k,總迭代次數(shù)為g,蟑螂計(jì)數(shù)器i=1,迭代技術(shù)器t=1;

步驟3:根據(jù)適應(yīng)值函數(shù)f(x)(x∈rd)計(jì)算出當(dāng)前種群中最優(yōu)的蟑螂個(gè)體,并將其位置向量作為種群當(dāng)前最優(yōu)解pg;

步驟4:對(duì)于蟑螂i執(zhí)行群追逐操作,發(fā)現(xiàn)新位置fi;

步驟5:對(duì)于蟑螂i執(zhí)行貪婪選擇操作,決定是否更新蟑螂i的當(dāng)前位置xi;

步驟6:判斷種群是否找到了更優(yōu)解,找到則更新pg;

步驟7:如果i≤n,則執(zhí)行:i←i+1,跳轉(zhuǎn)至步驟4;否則,i←1,順序執(zhí)行步驟8;

步驟8:如果t=g,則執(zhí)行步驟9;否則,轉(zhuǎn)步驟4;

步驟9:輸出pg作為算法輸出結(jié)果。

更具體地,所述步驟2子群劃分,具體包括:子群規(guī)模為k,則每個(gè)蟑螂i按下標(biāo)生成子群;k滿足0<k≤(n-1)/2;k=5,則蟑螂i的子群為:{xi,xi+1,xi+2,,xi+3,xk}。

更具體地,所述步驟3計(jì)算出整個(gè)種群當(dāng)前最優(yōu)解,計(jì)算當(dāng)前最優(yōu)解公式如下:pg0=opt{x01,…,x0n};上式中0表示算法處于初始化階段。

更具體地,所述步驟4蟑螂i執(zhí)行群追逐操作,群追逐操作公式具體如下:

上式中,fit表示第蟑螂i在t代次中發(fā)現(xiàn)的新位置;xit表示t代次中蟑螂i當(dāng)前所在位置;pit是t代次時(shí)子群i中的最優(yōu)解,計(jì)算方法如下:pit=opt{xti,xti+1,…,xtk};pgt是t代次中種群的最優(yōu)解,計(jì)算方法如下:pgt=opt{xt1,…,xtn};r1,r2,r3,r4是[1,n]范圍內(nèi)的四個(gè)隨機(jī)整數(shù),并且滿足r1≠r2≠r3≠r4≠i;rand(0,1)是(0,1)范圍內(nèi)的隨機(jī)實(shí)數(shù);當(dāng)rand(0,1)<0.5時(shí),蟑螂i受子群最優(yōu)解pit影響,在子群中完成群追逐操作;當(dāng)rand(0,1)≥0.5時(shí),蟑螂i受種群最優(yōu)解pgt影響,在整個(gè)種群中完成群追逐操作。

更具體地,所述步驟5蟑螂i執(zhí)行貪婪選擇操作,以最小化問(wèn)題為例,貪婪選擇操作公式具體如下:

上式中表示第t+1代次蟑螂i的位置向量,此公式的含義為,比較t代次中兩者較優(yōu)的一個(gè)作為蟑螂i在t+1代次中的位置向量。

更具體地,所述步驟6更新pg的操作,具體包括:當(dāng)蟑螂i的位置發(fā)生改變時(shí),需比較更新后的坐標(biāo)向量與當(dāng)前全局最優(yōu)解pg,兩者較優(yōu)的一個(gè)被選擇作為整個(gè)種群的全局最優(yōu)解;更新pg的公式如下:

本發(fā)明由于采取以上技術(shù)方案,其具有以下優(yōu)點(diǎn):

(1)群追逐策略由兩個(gè)尋優(yōu)模型構(gòu)成,蟑螂個(gè)體隨機(jī)的在子群內(nèi)部和整個(gè)種群中完成群追逐操作;在子群內(nèi)部執(zhí)行群追逐操作時(shí),蟑螂個(gè)體受到子群中局部最優(yōu)解的影響完成局部搜索;在整個(gè)種群中執(zhí)行群追逐操作時(shí),蟑螂個(gè)體受到全局最優(yōu)解的影響完成全局搜索;因此,本發(fā)明提出的實(shí)值優(yōu)化方法天然具有全局和局部搜索能力。

(2)算法通過(guò)群追逐操作,使得蟑螂個(gè)體發(fā)現(xiàn)新的位置向量,通過(guò)貪婪選擇策略判斷該位置是否更優(yōu)并進(jìn)一步?jīng)Q定該位置是否作為蟑螂下一步將要行進(jìn)的位置向量,貪婪策略保證了計(jì)算過(guò)程中蟑螂個(gè)體的進(jìn)化性和整個(gè)種群的進(jìn)化性。

(3)子群的劃分是根據(jù)蟑螂個(gè)體的下標(biāo),而非蟑螂的位置坐標(biāo),保證了每個(gè)蟑螂都有一個(gè)規(guī)模為k的子群,讓蟑螂個(gè)體在一定規(guī)模的子群內(nèi)部完成局部搜索,保證了解的多樣性。

(4)在基本cso算法的基礎(chǔ)上,提供一種二元群結(jié)構(gòu)的蟑螂算法,將蟑螂種群根據(jù)蟑螂個(gè)體下標(biāo)劃分為若干子群;每次函數(shù)評(píng)價(jià)中,蟑螂個(gè)體隨機(jī)地在整群或子群組成的二元結(jié)構(gòu)中完成尋優(yōu)計(jì)算,并通過(guò)貪婪選擇策略完成蟑螂下一步行進(jìn)位置計(jì)算,進(jìn)而完成整個(gè)算法的最優(yōu)解計(jì)算;算法的最大特點(diǎn)是使用了全新的整群和子群尋優(yōu)計(jì)算數(shù)學(xué)模型,并采用了一種新穎的二元種群拓?fù)浣Y(jié)構(gòu);上述策略的使用,在保證多樣性并且在全局和局部搜索之間做了一個(gè)有效的平衡,其尋優(yōu)方案不同于已存在的蟑螂仿生算法或其他實(shí)值優(yōu)化方法。

附圖說(shuō)明

圖1是本發(fā)明的算法流程圖。

圖2是本發(fā)明的蟑螂種群的二元群結(jié)構(gòu)。

具體實(shí)施方式

下面結(jié)合附圖和實(shí)施例,對(duì)本發(fā)明的技術(shù)方案進(jìn)行詳細(xì)地說(shuō)明,但不應(yīng)理解為是對(duì)技術(shù)方案的限制。在下文的描述中,給出了大量具體的細(xì)節(jié)以便提供對(duì)本發(fā)明更為徹底的理解。然而,對(duì)于本領(lǐng)域技術(shù)人員而言,本發(fā)明可以無(wú)需一個(gè)或多個(gè)這些細(xì)節(jié)而得以實(shí)施。在其他的例子中,為了避免與本發(fā)明發(fā)生混淆,對(duì)于本領(lǐng)域公知的一些技術(shù)特征未進(jìn)行描述。

圖1給出了本發(fā)明的基于二元群結(jié)構(gòu)蟑螂仿生算法的總體流程,圖2給出了本發(fā)明蟑螂種群的二元群結(jié)構(gòu)。下面結(jié)合圖1和圖2,對(duì)方法中各個(gè)步驟進(jìn)行詳細(xì)的描述:

步驟s101:如圖2所示,算法的子群100按照下標(biāo)劃分,種群200為環(huán)形拓?fù)浣Y(jié)構(gòu);設(shè)置總迭代次數(shù)為t,子群100規(guī)模為k,迭代計(jì)數(shù)器為t,蟑螂種群200規(guī)模為n,蟑螂個(gè)體300計(jì)數(shù)器為i;

步驟s102:在解空間內(nèi)初始化規(guī)模為n的蟑螂種群200,種群中個(gè)體均勻散布于整個(gè)解空間,d維解空間中種群初始化公式如下:

公式(1)中代表t=0代次時(shí)蟑螂i的位置向量xi的第j個(gè)分量;rand(0,1)表示(0,1)區(qū)間上均勻分布的一個(gè)隨機(jī)實(shí)數(shù);u、l為可行解空間的上、下邊界,這里u=(l1,l2,…,ld)、l=(u1,u2,…,ud)定義了待優(yōu)化問(wèn)題的解空間;

pg為所有蟑螂位置向量中最優(yōu)的一個(gè),表示為:

步驟s103:蟑螂計(jì)數(shù)器加1,表示下一只蟑螂開(kāi)始搜索;

步驟s104:找出t代次中子群i中的最優(yōu)位置向量pi;子群100規(guī)模為k,則pi的計(jì)算如公式(3)所示:

步驟s105:執(zhí)行群追逐操作,公式如下:

上式中,fit表示第蟑螂i在t代次中發(fā)現(xiàn)的新位置;xit表示t代次中蟑螂i當(dāng)前所在位置;pit是t代次中子群i中的最優(yōu)解,計(jì)算方法如下公式(3)所示;pgt是t代次中種群的最優(yōu)解,計(jì)算方法如下:

r1,r2,r3,r4是[1,n]范圍內(nèi)的四個(gè)隨機(jī)整數(shù),并且滿足r1≠r2≠r3≠r4≠i;rand(0,1)是(0,1)范圍內(nèi)的隨機(jī)實(shí)數(shù);當(dāng)rand(0,1)<0.5時(shí),蟑螂i受子群最優(yōu)解pit影響,完成群追逐操作;當(dāng)rand(0,1)≥0.5時(shí),蟑螂i受種群最優(yōu)解pgt影響,完成群追逐操作;

步驟s106:使用貪婪策略更新蟑螂i當(dāng)前位置向量;公式(4)計(jì)算出的fti蟑螂i在t代次發(fā)現(xiàn)的新位置;fti不一定會(huì)成為蟑螂i在t+1代次的位置向量,蟑螂i在t+1代次的位置向量需要貪婪策略計(jì)算得出,公式為:

步驟s107:對(duì)種群全局最優(yōu)解pg完成更新,同樣使用貪婪策略,具體公式如下:

步驟s108:判斷蟑螂計(jì)數(shù)器i是否小于種群規(guī)模n,如果小于,則跳轉(zhuǎn)至步驟s103;否則算法順序執(zhí)行步驟s109;

步驟s109:蟑螂計(jì)數(shù)器i被從新賦值為0,即i←0;

步驟s110:迭代計(jì)數(shù)器增加1,即t←t+1;

步驟s111:判斷迭代計(jì)數(shù)器t是否小于總迭代次數(shù)t,如果小于,則跳轉(zhuǎn)至步驟s103;否則,順序執(zhí)行步驟s112;

步驟s112:輸出pg作為整個(gè)算法的計(jì)算結(jié)果。

當(dāng)前第1頁(yè)1 2 
網(wǎng)友詢問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
三亚市| 新竹县| 萍乡市| 万州区| 黎平县| 嘉善县| 甘孜县| 朝阳市| 林芝县| 通城县| 大荔县| 漯河市| 镇江市| 武穴市| 莱西市| 延寿县| 和平区| 长宁区| 石嘴山市| 高尔夫| 苍梧县| 得荣县| 峨山| 墨江| 上杭县| 庐江县| 垣曲县| 阿图什市| 彭山县| 泗水县| 连城县| 宣城市| 张家川| 浮山县| 南乐县| 阳高县| 漯河市| 南宁市| 潞城市| 新源县| 嘉善县|