亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于改進(jìn)的群論優(yōu)化算法求解具有單連續(xù)變量背包問題

        2021-06-19 07:23:22李香軍朱曉斌
        新一代信息技術(shù) 2021年10期

        李香軍,朱曉斌

        (1.河北地質(zhì)大學(xué) 信息工程學(xué)院,河北 石家莊 050031;2.石家莊文化傳媒學(xué)校,河北 石家莊 050000)

        0 引言

        背包問題是一類重要的 NP難問題,其中包括 0-1背包問題[1]、帶建制的背包問題[2]、折扣0-1背包問題[3]以及具有單連續(xù)變量背包問題(knapsack problem with a single continuous variable,KPC)[4]等多種類型的背包問題,在項(xiàng)目選擇、網(wǎng)絡(luò)阻截問題和資源配置等眾多實(shí)際領(lǐng)域[5-8]都有重要的應(yīng)用。KPC問題是由 Marchand和Wolsey[1]在1999年提出的一種帶有連續(xù)變量的擴(kuò)展 0-1背包問題,在物品生產(chǎn)、組織管理以及其他生產(chǎn)分配問題中有很高的應(yīng)用價(jià)值。2011年,Lin等人[5]將 KPC問題分解為標(biāo)準(zhǔn) 0-1背包和偽背包問題,分別利用動(dòng)態(tài)規(guī)劃法和分支定界法進(jìn)行求解。2012年,Buther和 Briskorn[6]利用構(gòu)造法和啟發(fā)式算法求解KPC問題。2018年,He等人[9]利用放縮法將KPC中的連續(xù)變量離散化,基于動(dòng)態(tài)規(guī)劃求解KPC問題。這些論文皆利用精確算法求解KPC問題,都具有時(shí)間復(fù)雜度過高的缺點(diǎn)。之后,He等人[10]在2018年引入了演化算法求解KPC問題的思想,建立了KPCM2和KPCM3兩種新模型,并基于HBDE算法提出S-HBDE和B-HBDE算法分別求解這兩種模型,此方法降低了時(shí)間復(fù)雜度,但求解效果欠佳。在 2019年,He等人[11]提出了ETDE算法,將背包的裝載方案和連續(xù)變量作為一個(gè)個(gè)體,進(jìn)一步提高了求解KPC問題的效率。近日,王澤昆等人[12]提出一個(gè)基于新穎S型轉(zhuǎn)換函數(shù)的NBPSO算法求解KPC問題,提高了求解問題的精度與速度。利用演化算法求解KPC問題已經(jīng)取得了不錯(cuò)的成果,所以利用演化算法求解KPC問題值得深入研究。

        群論優(yōu)化算法(Group theory-based optimization algorithm,GTOA)是He等人[13]在2018年提出的新穎算法,將代數(shù)群運(yùn)算引入背包問題的進(jìn)化過程中,將背包問題的可行解視為群的直積的一個(gè)元素,通過群的直積的乘法和逆運(yùn)算來實(shí)現(xiàn)演化過程。GTOA算法在解決集合聯(lián)盟背包問題、折扣{0-1}背包問題和有界背包問題上已有很好的結(jié)果。本文對(duì) GTOA算法進(jìn)行改進(jìn),基于KPCM2模型[10]求解KPC問題,對(duì)不可行解進(jìn)行修復(fù)優(yōu)化,給出求解KPC問題的一個(gè)新的高效的方法。

        1 KPC定義與數(shù)學(xué)模型

        KPC問題的描述如下[12]:給定物品集合N={1,2,…,n}和一個(gè)背包基本載重 C,物品j(j∈N)的價(jià)值為pj>0,重量為wj>0。在 KPC問題中,背包載重可變,添加了一個(gè)變量S進(jìn)行調(diào)整,文獻(xiàn)[10]基于降維法建立了模型KPCM2,消去了連續(xù)變量S,將解空間的維數(shù)從n+1降為n。KPCM2的數(shù)學(xué)模型如下:

        KPCM2數(shù)學(xué)模型更適于二進(jìn)制演化算法求解KPC問題,減少了變量的數(shù)量,降低了求解的難度,所以本文基于 KPCM2模型求解 KPC問題。

        2 GTOA 簡介與改進(jìn)

        群論優(yōu)化算法(Group theory-based optimization algorithm,GTOA)是利用Z/nZ的加法群(n為整數(shù)取得模,Z為整數(shù)集)生成群的直積來設(shè)計(jì)的一種新的進(jìn)化算法。從代數(shù)觀點(diǎn)看,無論背包問題屬于哪一類,其可行解的每個(gè)分量都可以看作是Z/nZ可加群中的一個(gè)元素,可簡化為Zn={0,1,…,n–1},n其中n為正整數(shù),n≥2。在此基礎(chǔ)上,提出了一種代數(shù)方法來設(shè)計(jì) EAs,并利用群的直積提出了一種基于群論的優(yōu)化算法(GTOA)。GTOA算法可以直接求解整數(shù)規(guī)劃問題,在離散空間[m1+1,m2+1,…,mn+1]上求解,[m1+1,m2+1,…,mn+1]={0,1,…,m1}×{0,1,…,m2}×…×{0,1,…,mn},具有普適性,不僅易于實(shí)現(xiàn),而且效率很高,適合于求解KPs。

        GTOA算法主要包含隨機(jī)線性組合算子(the Random Linear Combination Operator,RLCO)和變異算子。

        RLCO算子:

        其中Y、V、W是群Z中隨機(jī)選擇的三個(gè)不同的元素,Y=(y1,y2,…,yn),V=(v1,v2,…,vn),W=(w1,w2,…,wn),即種群中三個(gè)不同的個(gè)體,F(xiàn)=(f1,f2,…,fn)={–1,0,1}n是組合系數(shù)向量,為隨機(jī)向量,X=(x1,x2,…,xn)是線性組合生成的新個(gè)體。新個(gè)體的產(chǎn)生為xj=yj⊕ [fj(vj⊕ (mj+1–wj))],j=1,2,…,n。當(dāng)m=1時(shí),解空間為[2,2,…,2]={0,1}n。本文為求解KPC問題,KPC問題是0–1向量問題,所以解空間為[2,2,…,2]。

        變異算子分為兩種:反轉(zhuǎn)與隨機(jī)變異算子(the Inversion and Random Mutation Operator,IRMO)和選擇變異算子(the Switch Mutation Operator,SMO)。當(dāng)解空間為(m1+1,m2+1,…,mn+1),md≥1,d=1,2,…,n時(shí),使用IRMO算子,當(dāng)解空間為(2,2,…,2),使用 SMO 算子。由于本文是基于IGTOA算法求解KPC問題,所以使用的是SMO算子,偽代碼描述本文不再贅述。

        為了提升算法的全局搜索能力,本文將式(4)改為式(5),從而提出了IGTOA算法。

        3 利用IGTOA求解KPC問題

        由以上描述可得出IGTOA算法求解KPC問題的偽代碼描述如算法1所示。

        算法1 IGTOA算法。

        在算法1中,第1步的時(shí)間復(fù)雜度為O(NP*n),M2-GROA算法的時(shí)間復(fù)雜度為O(n2),令O(f)表示計(jì)算f(Xi)的時(shí)間復(fù)雜度,所以第2步時(shí)間復(fù)雜度為NP×O(f)+NP×O(n2),第5步的時(shí)間復(fù)雜度為O(n),第6步的時(shí)間復(fù)雜度為O(n),第7步的時(shí)間復(fù)雜度為O(n2),所以第 3~13步的時(shí)間復(fù)雜度為MIT×NP×(O(n)+O(n)+O(n2)+O(f)),故改進(jìn)的GTOA算法的時(shí)間復(fù)雜度為O(NP×n)+NP×O(f)+NP×O(n2)+MIT×NP×(O(n)+O(n)+O(n2)+O(f)),當(dāng)MIT、NP和O(f)是關(guān)于n的多項(xiàng)式時(shí),此算法是多項(xiàng)式時(shí)間復(fù)雜度。

        4 實(shí)驗(yàn)結(jié)果與分析

        所有的計(jì)算均在配置為 Intel(R) Core(TM)i7-3770 CPU @ 3.40GHz和8GB內(nèi)存的微型計(jì)算機(jī)上進(jìn)行。操作系統(tǒng)為Windows 7旗艦版。本實(shí)驗(yàn)的編程語言為C,編譯環(huán)境為Code:Blocks,使用Python語言繪制曲線圖。

        4.1 四類KPC實(shí)例

        本文使用的實(shí)例為:逆強(qiáng)相關(guān)實(shí)例(ikpc)、強(qiáng)相關(guān)實(shí)例(skpc)、不相關(guān)實(shí)例(ukpc)、弱相關(guān)實(shí)例(wkpc),數(shù)據(jù)的規(guī)模為 100~2000,來自于文獻(xiàn)[10]。

        4.2 計(jì)算結(jié)果與分析

        本節(jié)為 IGTOA、ETDE、S-HBDE、B-HBDE算法求解KPC實(shí)例的情況,并對(duì)這些實(shí)驗(yàn)結(jié)果進(jìn)行分析比較。表1給出IGTOA、ETDE、S-HBDE、B-HBDE 4個(gè)算法的參數(shù)設(shè)置,其中NP為種群規(guī)模,n為問題實(shí)例的維數(shù),MIT為迭代次數(shù),Run為每個(gè)例子獨(dú)立計(jì)算次數(shù),CR為交叉因子,F(xiàn)S、F為縮放因子,ETDE、S-HBDE、B-HBDE中[–A,A]為問題每維的取值范圍。

        表1 IGT OA、ETDE、S-HBDE、B-HBDE算法參數(shù)設(shè)置Tab.1 The parameter settings of IGTOA、ETDE、S-HBDE and B-HBDE

        記 Best、Average、Std分別為算法獨(dú)立運(yùn)行50次的得到結(jié)果的最好值、平均值、標(biāo)準(zhǔn)差,OPT為每類實(shí)例的最優(yōu)值,表2~表5為各算法求解規(guī)模為100~1000的四類kpc實(shí)例的結(jié)果,其中加*號(hào)代表可以達(dá)到最優(yōu)值,表現(xiàn)最好的用加粗標(biāo)示。

        表2 ETDT、S-HBDE、B-HBDE和IGTOA求解ikpc類實(shí)例的計(jì)算結(jié)果Tab.2 ETDT 、S-HBDE、B-HBDE and IGTOA calculation results of ikpc class instances

        表3 ETDT、S-HBDE、B-HBDE和IGTOA求解skpc類實(shí)例的計(jì)算結(jié)果Tab.3 ETDT 、S-HBDE、B-HBDE and IGTOA calculation results of skpc class instances

        表4 ETDT、S-HBDE、B-HBDE和IGTOA求解ukpc類實(shí)例的計(jì)算結(jié)果Tab.4 ETDT 、S-HBDE、B-HBDE and IGTOA calculation results of ukpc class instances

        表5 ETDT、S-HBDE、B-HBDE和IGTOA求解wkpc類實(shí)例的計(jì)算結(jié)果Tab.5 ETDT 、S-HBDE、B-HBDE and IGTOA calculation results of wkpc class instances

        從表2中可以看出,對(duì)于ikpc類實(shí)例,ETDT、S-HBDE、B-HBDE、IGTOA算法所求的最好值Best的個(gè)數(shù)分別為 1、8、7、10個(gè),可以看出 IGTOA算法求解 ikpc類實(shí)例的精度最高;ETDT、S-HBDE、B-HBDE、IGTOA算法所求的平均值A(chǔ)verage的個(gè)數(shù)分別為1、2、1、8個(gè),所以IGTOA算法求解ikpc類實(shí)例的平均性能最好;而對(duì)于標(biāo)準(zhǔn)差Std,IGTOA算法求解的標(biāo)準(zhǔn)差10個(gè)實(shí)例里有 8個(gè)達(dá)到了 0,而其他算法只有一個(gè)或兩個(gè)實(shí)例可以達(dá)到0,所以IGTOA算法求解問題的穩(wěn)定性很好??傮w而言,IGTOA算法求解ikpc類實(shí)例比其他算法都好,精度高,求解效果平均性能很好,穩(wěn)定性最好。

        從表3中可以看出,對(duì)于skpc類實(shí)例,ETDT、S-HBDE、B-HBDE、IGTOA 算法所求的最好值Best的個(gè)數(shù)分別為1、10、10、10個(gè),可以看出ETDT算法求解 skpc類實(shí)例時(shí)精度最差,S-HBDE、B-HBDE、IGTOA算法10個(gè)實(shí)例都可以求解到最好值;ETDT、S-HBDE、B-HBDE、IGTOA算法所求的平均值A(chǔ)verage的個(gè)數(shù)分別為0、3、1、4個(gè),所以IGTOA算法求解skpc類實(shí)例的平均性能最好;而對(duì)于標(biāo)準(zhǔn)差 Std,IGTOA算法求解10個(gè)實(shí)例的標(biāo)準(zhǔn)差都幾乎接近于0,其余算法求解問題的標(biāo)準(zhǔn)差略大,穩(wěn)定性很好??傮w而言,IGTOA算法求解 skpc類實(shí)例在精度上高于ETDT算法,和S-HBDE、B-HBDE算法精度相同,在平均性能和穩(wěn)定性上比其他算法都好。

        從表4中可以看出,對(duì)于ukpc類實(shí)例,ETDT、S-HBDE、B-HBDE、IGTOA 算法所求的最好值Best的個(gè)數(shù)分別為8、8、8、6個(gè),ETDT算法求解ukpc類實(shí)例時(shí)在求解精度上略差于其他算法;ETDT、S-HBDE、B-HBDE、IGTOA算法所求的平均值A(chǔ)verage的個(gè)數(shù)分別為3、3、2、6個(gè),所以IGTOA算法求解ukpc類實(shí)例的平均性能最好,比其他算法都好;對(duì)于標(biāo)準(zhǔn)差 Std,IGTOA算法求解10個(gè)實(shí)例的標(biāo)準(zhǔn)差比其他算法小,其他算法求解問題的的標(biāo)準(zhǔn)差都較大,所以IGTOA算法求解問題穩(wěn)定性最好。總體而言,IGTOA算法求解ukpc類實(shí)例在精度上比其他算法略差,在平均性能和穩(wěn)定性上比其他算法都好。

        從表5中可以看出,對(duì)于wkpc類實(shí)例,ETDT、S-HBDE、B-HBDE、IGTOA算法所求的最好值Best的個(gè)數(shù)分別為1、5、4、6個(gè),ETDT算法求解 wkpc類實(shí)例時(shí)在求解精度上高于其他算法;ETDT、S-HBDE、B-HBDE、IGTOA算法所求的平均值A(chǔ)verage的個(gè)數(shù)分別為1、0、0、9個(gè),可以明顯看出IGTOA算法的平均性能最好;對(duì)于標(biāo)準(zhǔn)差 Std,IGTOA算法也比其他算法小,穩(wěn)定性很好??傮w而言,IGTOA算法求解wkpc類實(shí)例在精度、平均性能和穩(wěn)定性上比其他算法都好。

        平均性能更能代表一個(gè)算法求解問題的效果如何,為了更直觀的觀察各算法的平均性能的好壞,圖1給出了 ETDT、B-HBDE、S-HBDE、IGTOA算法求解 ikpc500、skpc500、ukpc500、wkpc500實(shí)例的平均收斂曲線圖,從中可以看出,對(duì)于每一類實(shí)例,IGTOA算法都可以更快的求得最優(yōu)解,所需要的時(shí)間最短,IGTOA算法在求解四類實(shí)例時(shí)收斂速度最快,在迭代150次之前基本就可以找到最優(yōu)解,而其余算法都需要在迭代 150次之后才能找到最優(yōu)解,所以,IGTOA算法比ETDT、S-HBDE、B-HBDE算法在求解kpc問題時(shí)效果好很多。

        圖1 ikpc500,skpc500,ukpc500和wkpc500實(shí)例的平均收斂曲線Fig.1 The average convergence curve of instance ikpc500, skpc500, ukpc500 and wkpc500

        總體而言,IGTOA算法在求解 ikpc、wkpc類實(shí)例時(shí)在精度、平均性能、穩(wěn)定性上比其他算法都好;在求解skpc類實(shí)例時(shí),在求解精度上,比ETDT好,和S-HBDE、B-HBDE效果相當(dāng),在平均性能、穩(wěn)定性上比其他算法都好;在求解ukpc類實(shí)例時(shí),求解精度比 ETDT、S-HBDE、B-HBDE算法略差一些,但平均性能、穩(wěn)定性上都高于其他算法,所以 IGTOA算法是一個(gè)求解KPC問題的高效算法。

        5 總結(jié)

        本文基于群論優(yōu)化算法(GTOA)在模型KPCM2的基礎(chǔ)上求解KPC問題,首先對(duì)GTOA算法進(jìn)行改進(jìn),擴(kuò)大算法的全局搜索范圍,從而提出了改進(jìn)的群論優(yōu)化算法(IGTOA)。為了證明IGTOA算法在求解 KPC問題時(shí)效果更好,采用文獻(xiàn)[10]中的40個(gè)實(shí)例進(jìn)行驗(yàn)證,將IGTOA算法與ETDE、S-HBDE、B-HBDE算法的求解結(jié)果進(jìn)行比較,表明IGTOA算法在求解KPC問題時(shí),精度高、平均性能好、穩(wěn)定性高、收斂速度很快,是一個(gè)求解 KPC問題的高效算法。由于 IGTOA算法是一種新穎的演化算法,在求解組合優(yōu)化問題時(shí)仍需要探討和研究,今后將嘗試?yán)肐GTOA算法求解其它整數(shù)規(guī)劃問題,并進(jìn)一步探討將GTOA改進(jìn)的高效方法。

        亚洲精品456在线播放狼人| 最新无码国产在线播放| 国产AV无码无遮挡毛片| 日韩精品免费av一区二区三区| 久久久久亚洲av无码专区首| 国产成年女人特黄特色毛片免| 伊人久久综在合线亚洲不卡| 久久九九av久精品日产一区免费| 2020国产在视频线自在拍| 亚洲熟妇av日韩熟妇在线| 亚洲美女影院| 日本人妖一区二区三区| 亚洲成人中文字幕在线视频| 女人高潮被爽到呻吟在线观看| 成人动漫久久| 日韩中文字幕乱码在线| 亚洲av无码国产精品色| 全免费a级毛片免费看网站| 亚洲国产成人精品91久久久| 男女视频在线观看一区二区| 99久久精品免费看国产一区二区三区| 久久精品国产亚洲av蜜臀| 天堂最新在线官网av| 日本一区二区三级免费| 国产精品无码一区二区三区| 久久精品国产亚洲av电影| 美女露屁股无内裤视频| 极品尤物精品在线观看| 久久无码专区国产精品s| 国产AV国片精品有毛| 日本女u久久精品视频| 色老板美国在线观看| 久久免费看少妇高潮v片特黄 | 亚洲精品精品日本日本| 亚洲麻豆视频免费观看| 俺去俺来也在线www色官网| 五月婷网站| 亚洲综合久久精品少妇av| 国产免费爽爽视频在线观看| 99热在线精品播放| 人妻少妇激情久久综合|