專利名稱:自適應(yīng)雙子和聲優(yōu)化方法
技術(shù)領(lǐng)域:
本發(fā)明涉及ー種自適應(yīng)雙子和聲優(yōu)化方法,該方法前期可以增強(qiáng)局部捜索能力,后期可以改善捜索精度。同時(shí)通過兩個(gè)子和聲庫的配合,擴(kuò)大了捜索范圍,可以較好的解決組合優(yōu)化問題,在一定程度上提高了最優(yōu)值的捜索能力,減少了迭代次數(shù)。
背景技術(shù):
基本和聲捜索算法是最近問世的一種啟發(fā)式全局捜索算法,在許多組合優(yōu)化問題中得到了成功的應(yīng)用。在音樂演奏中,樂師們憑借自己的記憶,通過反復(fù)調(diào)整樂隊(duì)中各樂器的音調(diào),最終達(dá)到ー個(gè)美妙的和聲狀態(tài)。z. ff. Geem等受這ー現(xiàn)象啟發(fā),將樂器
i(l,2,......,m)類比于優(yōu)化問題中的第i個(gè)設(shè)計(jì)變量,各樂器聲調(diào)的和聲Rj,j = 1,
2,......,M相當(dāng)于優(yōu)化問題的第j個(gè)解向量,評價(jià)類比于目標(biāo)函數(shù)。算法首先產(chǎn)生M個(gè)初
始解(和聲)放入和聲(HM)記憶庫(harmony memory)內(nèi),以概率HR在HM內(nèi)搜索新解,以概率I-HR在HM外變量可能值域中搜索。然后,算法以概率PR對新解產(chǎn)生局部擾動(dòng),判斷新解目標(biāo)函數(shù)值是否優(yōu)于HM內(nèi)的最差解,若是,則替換之;以后不斷迭代,直至達(dá)到最大迭代次數(shù)為止。2001年Z. ff. Geem人基于音樂和最優(yōu)化問題的相似性提出了一種新的模擬非生物物理現(xiàn)象的啟發(fā)式智能進(jìn)化和聲搜索算法(Harmony Search, HS)。該算法具有原理簡單、求解速度快、魯棒性強(qiáng)、通用性高的優(yōu)點(diǎn),是ー種具有強(qiáng)大搜索能力的全局優(yōu)化方法,已被成功用于工程方面的多個(gè)領(lǐng)域。相關(guān)研究表明HS算法在解決多維函數(shù)優(yōu)化問題上,較遺傳算法、模擬退火算法等有更好的優(yōu)化性能,近年來該算法受到學(xué)術(shù)界的廣泛關(guān)注。但在優(yōu)化復(fù)雜函數(shù)吋,HS算法存在后期易陷入局部最優(yōu)、出現(xiàn)早熟收斂或收斂不穩(wěn)定的現(xiàn)象。為了提高算法的優(yōu)化性能,出現(xiàn)了各種不同思想的改進(jìn)策略。Zong Woo Geem在2006年提出了一種改進(jìn)的HS算法,在標(biāo)準(zhǔn)HS算法的基礎(chǔ)上增加一個(gè)新的和聲向量,通過與原有和聲向量的協(xié)調(diào)合作,達(dá)到優(yōu)化效果。Omran,Mahdavi等人于2008年提出了對HS算法中參數(shù)調(diào)整的全局搜索的 HS 算法(global-best harmony search,GHS),提高了原算法性能。PrithwishChakraborty等人于2009年提出基于雜交變異的HS算法,提高了原算法的全局搜索能力。Majid Jaberipour等人于2010年提出了對HS的改進(jìn)算法,主要通過調(diào)整HS算法中的擾動(dòng)調(diào)節(jié)因子,提高算法收斂率。上述方法均對HS算法有所改進(jìn),但在解決復(fù)雜函數(shù)優(yōu)化問題時(shí),沒能進(jìn)ー步擴(kuò)大全局的捜索范圍,降低解的優(yōu)化性。有鑒于此,特提出本發(fā)明。
發(fā)明內(nèi)容
本發(fā)明的目的在于克服現(xiàn)有技術(shù)的不足,提供ー種自適應(yīng)雙子和聲優(yōu)化方法,該方法前期可以增強(qiáng)局部捜索能力,后期可以改善捜索精度。同時(shí)通過兩個(gè)子和聲庫的配合,擴(kuò)大了捜索范圍,可以較好的解決組合優(yōu)化問題,在一定程度上提高了最優(yōu)值的捜索能力,減少了迭代次數(shù)。
為解決上述技術(shù)問題,本發(fā)明采用技術(shù)方案的基本構(gòu)思是ー種自適應(yīng)雙子和聲優(yōu)化方法,其步驟如下(I)初始化和聲記憶庫,產(chǎn)生初始解,放入和聲記憶庫內(nèi);(2)將上述初始解等分為兩組,分別為主子和聲庫和輔子和聲庫,分別確定主子和聲庫和輔子和聲庫的音調(diào)微調(diào)概率和音調(diào)微調(diào)帶寬;(3)判斷算法收斂準(zhǔn)則是否滿足,若不滿足,進(jìn)入步驟(4)。(4)主子和聲庫迭代捜索得到主子和聲庫的新解、輔子和聲庫從主子和聲庫的相反方向迭代搜索得到輔子和聲庫的新解;(5)用主子和聲庫的新解和輔子和聲庫的新解分別與步驟(2)中主子和聲庫和輔子和聲庫中的初始解進(jìn)行比較并根據(jù)比較結(jié)果更新和聲記憶庫從而得到和聲記憶庫的全·局最優(yōu)解以及次全局最優(yōu)解。(6)每n次迭代監(jiān)測一次全局最優(yōu)解和次全局最優(yōu)解是否發(fā)生變化,如果均沒有變化,則重新設(shè)置和聲記憶庫的音調(diào)微調(diào)概率和音調(diào)微調(diào)帶寬,進(jìn)入步驟(4);反之,進(jìn)入步驟(7);(7)檢查迭代停止準(zhǔn)則,當(dāng)?shù)螖?shù)達(dá)到最大迭代次數(shù)時(shí),停止迭代,否則重新設(shè)置和聲記憶庫的音調(diào)微調(diào)概率和音調(diào)微調(diào)帶寬,進(jìn)入步驟(4)。優(yōu)選的,步驟⑴初始化和聲記憶庫的具體步驟為通過公式X/ = LBi + r X (UBi - LBi)逐個(gè)生成和聲記憶庫中的每ー個(gè)解,每一列對應(yīng)的是決
策變量Xi可能的值,x/是Xi在第j維對應(yīng)的值,式中,j = 1,2,…,N,j = 1,2,…,HMS,r
取0 I之間的隨機(jī)數(shù),HMS為和聲記憶庫大小,LBi和UBi分別為決策變量的下限和上限,N是決策變量的數(shù)量,對于離散型變量Xi = Ixi (I) ,Xi (2),...,Xi(K)I, K為離散變量可能值的個(gè)數(shù),對于連續(xù)型變量A ^ Xx ^ uXi,LXi是Xi的最小值,uXi是Xi的最大值。初始化和聲記憶庫得到的初始解為
xI X2 …xAM X/V X X22 ... X^1 X1nHM ニ............ …
HMS-X HMS~\ HMS-\. °
X| 2^2 …X'
HMS HMSHMS HMS
-X1 X2 …X"—丨一優(yōu)選的,步驟(4)中主子和聲庫根據(jù)記憶保留、擾動(dòng)調(diào)節(jié)和隨機(jī)選擇3條法則對決策變量進(jìn)行擾動(dòng),生成新解;輔子和聲庫根據(jù)記憶保留、擾動(dòng)調(diào)節(jié)和隨機(jī)選擇3條法則對決策變量進(jìn)行擾動(dòng),生成新解。優(yōu)選的,其步驟(5)更新和聲記憶庫具體為I)如果主子和聲庫的新解和輔子和聲庫的新解之ー優(yōu)于和聲記憶庫中初始解中最差的,則用該較好的新解替換主子和聲庫和輔子和聲庫的最差解;2)如果主子和聲庫的新解和輔子和聲庫的新解都差于和聲記憶庫中初始解中最差的,則不做變換。
采用上述技術(shù)方案后,本發(fā)明與現(xiàn)有技術(shù)相比具有以下有益效果本發(fā)明ー種自適應(yīng)雙子和聲優(yōu)化方法(SGHS)是ー種啟發(fā)式的全局搜索智能方法,在工程領(lǐng)域不少組合優(yōu)化問題上比常規(guī)的ー些智能算法(如遺傳算法、模擬退火算法和禁忌捜索)的性能表現(xiàn)更優(yōu)越。該方法模擬了音樂創(chuàng)作中樂師們憑借自己的記憶,通過反復(fù)調(diào)整樂隊(duì)中各樂器的音調(diào),最終達(dá)到ー個(gè)美妙的和聲狀態(tài)的過程。通過這個(gè)方法對和聲算法中音調(diào)微調(diào)概率和音調(diào)微調(diào)帶寬因子兩個(gè)重要參數(shù)調(diào)整,不斷重復(fù)步驟(4)至步驟(7),最終得到最優(yōu)解。本方法不斷調(diào)節(jié)音調(diào)微調(diào)概率和音調(diào) 微調(diào)帶寬因子兩個(gè)重要參數(shù)的過程提高了算法的動(dòng)態(tài)適應(yīng)性,以及局部捜索和全局捜索的協(xié)調(diào)能力;通過構(gòu)造兩組搜索方向各異、相互協(xié)同的主、輔和聲,可以充分利用捜索域內(nèi)的隱含信息,擴(kuò)展搜索范圍,減少方法的迭代次數(shù),從而較快的實(shí)現(xiàn)全局最優(yōu)。本方法為了解決復(fù)雜函數(shù)優(yōu)化問題,把決策變量分成主輔兩部分減少了每部分的迭代次數(shù),通過調(diào)節(jié)音調(diào)微調(diào)概率和音調(diào)微調(diào)帶寬按照步驟(5)去更新初始記憶庫中的最優(yōu)解,實(shí)驗(yàn)結(jié)果表明該方法具有較好的全局捜索能力和收斂速度。下面結(jié)合附圖對本發(fā)明的具體實(shí)施方式
作進(jìn)ー步詳細(xì)的描述。
圖I是本發(fā)明的流程圖。
具體實(shí)施例方式首先解釋下幾個(gè)名詞和聲記憶庫HM(harmony memory);和聲記憶庫大小HMS(HarmonyMemory Size);和聲記憶庫取值概率HMCR(Harmony Memory Considering Rate),其取值范圍是0 I之間的數(shù),它決定每次迭代過程中新解如何產(chǎn)生;音調(diào)微調(diào)概率PAR(Pitch Adjusting Rate),其取值范圍是0 I之間的數(shù),它決定某一分量擾動(dòng)的概率;音調(diào)微調(diào)帶寬,BW(Band Width)它決定某一分量在擾動(dòng)時(shí)擾動(dòng)的大小。參照圖I,本發(fā)明是ー種自適應(yīng)雙子和聲優(yōu)化方法(self-adaption Geminiharmony search, SGHS),其步驟如下SI、初始化和聲記憶庫,產(chǎn)生初始解,放入和聲記憶庫內(nèi);S2、將上述初始解等分為兩組,分別為主子和聲庫和輔子和聲庫,分別確定主子和聲庫和輔子和聲庫的音調(diào)微調(diào)概率和音調(diào)微調(diào)帶寬;S3、判斷算法收斂準(zhǔn)則是否滿足,若不滿足,進(jìn)入步驟S4,若滿足,執(zhí)行S11、結(jié)束。S4、主子和聲庫迭代捜索得到主子和聲庫的新解、輔子和聲庫從主子和聲庫的相反方向迭代搜索得到輔子和聲庫的新解;S5、用主子和聲庫的新解和輔子和聲庫的新解分別與步驟S2中主子和聲庫和輔子和聲庫中的初始解進(jìn)行比較并根據(jù)比較結(jié)果更新和聲記憶庫從而得到和聲記憶庫的全局最優(yōu)解以及次全局最優(yōu)解。S6、每n次迭代監(jiān)測一次全局最優(yōu)解和次全局最優(yōu)解是否發(fā)生變化,如果均沒有變化,則進(jìn)行步驟S7、重新設(shè)置和聲記憶庫的音調(diào)微調(diào)概率和音調(diào)微調(diào)帶寬,進(jìn)入步驟S4 ;反之,進(jìn)入步驟S8 ;S8、檢查迭代停止準(zhǔn)則,判斷是否達(dá)到最大迭代次數(shù),當(dāng)?shù)螖?shù)達(dá)到最大迭代次數(shù)時(shí),執(zhí)行S9、停止迭代,繼而執(zhí)行S11、結(jié)束;否則執(zhí)行S10、重新設(shè)置和聲記憶庫的音調(diào)微調(diào)概率和音調(diào)微調(diào)帶寬,進(jìn)入S4。本發(fā)明ー種自適應(yīng)雙子和聲優(yōu)化方法(SGHS)是ー種啟發(fā)式的全局搜索智能方法,在工程領(lǐng)域不少組合優(yōu)化問題上比常規(guī)的ー些智能算法(如遺傳算法、模擬退火算法和禁忌捜索)的性能表現(xiàn)更優(yōu)越。該方法模擬了音樂創(chuàng)作中樂師們憑借自己的記憶,通過反復(fù)調(diào)整樂隊(duì)中各樂器的音調(diào),最終達(dá)到ー個(gè)美妙的和聲狀態(tài)的過程。通過這個(gè)方法對和聲算法中音調(diào)微調(diào)概率和音調(diào)微調(diào)帶寬因子兩個(gè)重要參數(shù)調(diào)整,不斷重復(fù)步驟(4)至步驟
(7),最終得到最優(yōu)解。本方法不斷調(diào)節(jié)音調(diào)微調(diào)概率和音調(diào)微調(diào)帶寬因子兩個(gè)重要參數(shù)的過程提高了算法的動(dòng)態(tài)適應(yīng)性,以及局部捜索和全局捜索的協(xié)調(diào)能力;通過構(gòu)造兩組搜索方向各異、相互協(xié)同的主、輔和聲,可以充分利用捜索域內(nèi)的隱含信息,擴(kuò)展搜索范圍,減少·方法的迭代次數(shù),從而較快的實(shí)現(xiàn)全局最優(yōu)。本方法為了解決復(fù)雜函數(shù)優(yōu)化問題,把決策變量分成主輔兩部分減少了每部分的迭代次數(shù),通過調(diào)節(jié)音調(diào)微調(diào)概率和音調(diào)微調(diào)帶寬按照步驟(5)去更新初始記憶庫中的最優(yōu)解,實(shí)驗(yàn)結(jié)果表明該方法具有較好的全局捜索能力和收斂速度。后面通過具體實(shí)驗(yàn)證明本方法的優(yōu)點(diǎn)(詳見后面實(shí)驗(yàn)及表1-3)。優(yōu)選的,步驟SI初始化和聲記憶庫的具體步驟為初始化和聲記憶庫的具體步驟
為通過公式X/ ニ LBi + rxtUBi — LBi)逐個(gè)生成和聲記憶庫中的每ー個(gè)解,每ー
列對應(yīng)的是決策變量Xi可能的值,x/是Xi在第j維對應(yīng)的值,式中,i = 1,2,...,N,j =1,2,. . .,HMS,r取0 I之間的隨機(jī)數(shù),HMS為和聲記憶庫大小,LBi和UBi分別為決策變量的下限和上限,N是決策變量的數(shù)量,對于離散型變量Xi = Ixi (I),Xi⑵,...,Xi (K)},K為離散變量可能值的個(gè)數(shù),對于連續(xù)型變量A ^ Xi ^ uXi,ふ是\的最小值,uXi是\的最大值。初始化和聲記憶庫得到的初始解為
X; X; ... X1am X1n
A A ... 4-1 4HM ~............ ...
HMSA HMS-\ HMSA HMS-I 0 Xl X2 …XAM XN
HMS ^HMS Y HMS ',HMS優(yōu)選的,步驟S4中主子和聲庫,根據(jù)記憶保留、擾動(dòng)調(diào)節(jié)和隨機(jī)選擇3條法則對決
策變量進(jìn)行擾動(dòng),生成新解;程序可為FOR 每個(gè)i= [1,N] DO IFU(0, I) < HMCR THEN /*記憶保留*/ BEGIN
xi^xij^^jeU, 2,...,HMS)
IFU(0, I) < PAR THENBEGIN
xi, = xi,士rxbw,其中,r e U(0, I)
ENDIF
ELSE /*隨機(jī)選擇*/xi' = LBi + rx(UBi-LBi)·
ENDIF
DONE輔子和聲庫根據(jù)記憶保留、擾動(dòng)調(diào)節(jié)和隨機(jī)選擇3條法則對決策變量進(jìn)行擾動(dòng),生成新解,程序可為
FOR 每個(gè)i= [l,N] DO
IF U(0, I) < HMCR THEN / *記憶保留* /
BEGIN
幻'=燦,其刊€{1,2,...,HMS}
IFU(0, 1)<PAR THEN BEGIN
xi'= xi'士rxbw,其中,r e U(0, I)
ENDIF
ELSE /*隨機(jī)選擇*/xi' = LBi-rx(UBi-LBi)
ENDIF
DONE優(yōu)選的,步驟S5更新和聲記憶庫具體為I)如果主子和聲庫的新解和輔子和聲庫的新解之ー優(yōu)于和聲記憶庫中初始解中最差的,則用該較好的新解替換主子和聲庫和輔子和聲庫的最差解;2)如果主子和聲庫的新解和輔子和聲庫的新解都差于和聲記憶庫中初始解中最差的,則不做變換。通過上述步驟用新解中最優(yōu)解替代初始解中最差的解,從而使和聲記憶庫中的解始終是最優(yōu)解,使達(dá)到最好的和聲狀態(tài)。為了考察本方法的搜索性能,實(shí)驗(yàn)仿真平臺(tái)為Windows XP,采用EXCEL VBA編碼。以對3個(gè)典型的復(fù)雜測試函數(shù)的優(yōu)化計(jì)算為例說明其具體做法,并驗(yàn)證本發(fā)明方法的可行性、有效性與實(shí)用性。3個(gè)函數(shù)其表達(dá)式如下Sphere 函數(shù)
權(quán)利要求
1.一種自適應(yīng)雙子和聲優(yōu)化方法,其特征在于,其步驟如下 (1)初始化和聲記憶庫,產(chǎn)生初始解,放入和聲記憶庫內(nèi); (2)將上述初始解等分為兩組,分別為主子和聲庫和輔子和聲庫,分別確定主子和聲庫和輔子和聲庫的音調(diào)微調(diào)概率和音調(diào)微調(diào)帶寬; (3)判斷算法收斂準(zhǔn)則是否滿足,若不滿足,進(jìn)入步驟(4)。
(4)主子和聲庫迭代搜索得到主子和聲庫的新解、輔子和聲庫從主子和聲庫的相反方向迭代搜索得到輔子和聲庫的新解; (5)用主子和聲庫的新解和輔子和聲庫的新解分別與步驟(2)中主子和聲庫和輔子和聲庫中的初始解進(jìn)行比較并根據(jù)比較結(jié)果更新和聲記憶庫從而得到和聲記憶庫的全局最優(yōu)解以及次全局最優(yōu)解。
(6)每n次迭代監(jiān)測一次全局最優(yōu)解和次全局最優(yōu)解是否發(fā)生變化,如果均沒有變化,則重新設(shè)置和聲記憶庫的音調(diào)微調(diào)概率和音調(diào)微調(diào)帶寬,進(jìn)入步驟(4);反之,進(jìn)入步驟(7); (7)檢查迭代停止準(zhǔn)則,當(dāng)?shù)螖?shù)達(dá)到最大迭代次數(shù)時(shí),停止迭代,否則重新設(shè)置和聲記憶庫的音調(diào)微調(diào)概率和音調(diào)微調(diào)帶寬,進(jìn)入步驟(4)。
2.根據(jù)權(quán)利要求I所述的自適應(yīng)雙子和聲優(yōu)化方法,其特征在于,步驟(I)初始化和聲記憶庫的具體步驟為通過公式X/ 二 LBi+ r X (UBi -LBi)逐個(gè)生成和聲記憶庫中的每一個(gè)解,每一列對應(yīng)的是決策變量Xi可能的值,x/是Xi在第j維對應(yīng)的值,式中,i = 1,2,...,N,j = 1,2, ...,HMS,r取O I之間的隨機(jī)數(shù),HMS為和聲記憶庫大小,LBi和UBi分別為決策變量的下限和上限,N是決策變量的數(shù)量,對于離散型變量Xi = Ixi(I),Xi (2),. . .,Xi (K)},K為離散變量可能值的個(gè)數(shù),對于連續(xù)型變量A ^ Xi ^ uXi,LXi是Xi的最小值,UXi是Xi的最大值。初始化和聲記憶庫得到的初始解為
3.根據(jù)權(quán)利要求I所述的自適應(yīng)雙子和聲優(yōu)化方法,其特征在于,步驟(4)中主子和聲庫根據(jù)記憶保留、擾動(dòng)調(diào)節(jié)和隨機(jī)選擇3條法則對決策變量進(jìn)行擾動(dòng),生成新解;輔子和聲庫根據(jù)記憶保留、擾動(dòng)調(diào)節(jié)和隨機(jī)選擇3條法則對決策變量進(jìn)行擾動(dòng),生成新解。
4.根據(jù)權(quán)利要求I所述的自適應(yīng)雙子和聲優(yōu)化方法,其特征在于,其步驟(5)更新和聲記憶庫具體為 1)如果主子和聲庫的新解和輔子和聲庫的新解之一優(yōu)于和聲記憶庫中初始解中最差的,則用該較好的新解替換主子和聲庫和輔子和聲庫的最差解; 2)如果主子和聲庫的新解和輔子和聲庫的新解都差于和聲記憶庫中初始解中最差的,則不做變換。
全文摘要
一種自適應(yīng)雙子和聲優(yōu)化方法,先初始化和聲記憶庫,并將產(chǎn)生的初始解放入和聲記憶庫內(nèi);然后將上述初始解等分為兩組,分別為主子和聲庫和輔子和聲庫,分別確定主子和聲庫和輔子和聲庫的音調(diào)微調(diào)概率和音調(diào)微調(diào)帶寬;在算法收斂準(zhǔn)則不滿足的情況下從反方向迭代搜索得到兩組新解;并用多次迭代得到的兩組新解中的最優(yōu)解替代原記憶庫的解,從而得到最優(yōu)解,最終達(dá)到美妙的和聲。本方法不斷調(diào)節(jié)音調(diào)微調(diào)概率和音調(diào)微調(diào)帶寬因子,提高了算法的動(dòng)態(tài)適應(yīng)性及局部搜索和全局搜索的協(xié)調(diào)能力;構(gòu)造兩組搜索方向各異、相互協(xié)同的主、輔和聲,擴(kuò)展了搜索范圍,減少迭代次數(shù),較快的實(shí)現(xiàn)全局最優(yōu)。解決復(fù)雜函數(shù)優(yōu)化問題,全局搜索能力和收斂速度好。
文檔編號G06F17/30GK102789493SQ20121023273
公開日2012年11月21日 申請日期2012年7月6日 優(yōu)先權(quán)日2012年7月6日
發(fā)明者汪向征, 王愛民, 葛彥強(qiáng) 申請人:汪向征, 王愛民, 葛彥強(qiáng)