程 適, 陳俊風(fēng), 孫奕菲, 史玉回
(1.陜西師范大學(xué) 計算機(jī)科學(xué)學(xué)院,陜西 西安 710119; 2.河海大學(xué) 物聯(lián)網(wǎng)工程學(xué)院,江蘇 常州 213022; 3.陜西師范大學(xué) 物理學(xué)與信息技術(shù)學(xué)院,陜西 西安 710119; 4.南方科技大學(xué) 計算機(jī)科學(xué)與工程系,廣東 深圳 518055)
頭腦風(fēng)暴優(yōu)化(brain storm optimization,BSO)算法是一種新的群體智能優(yōu)化算法[1-2]. 這種算法的特點(diǎn)是將群體智能優(yōu)化方法和數(shù)據(jù)挖掘/數(shù)據(jù)分析的方法進(jìn)行了融合,以數(shù)據(jù)分析的方法為基礎(chǔ)去選擇相對較好的解.通過對待求解問題中大量解的數(shù)據(jù)進(jìn)行分析,根據(jù)待求解問題特征與算法優(yōu)化過程中生成解集合的分布情況,建立待求解問題解的結(jié)構(gòu)(landscape),在待求解問題與算法的關(guān)聯(lián)基礎(chǔ)上,更好地求解問題.BSO 算法通過聚類/分類方法分析解集合構(gòu)成,基于解的分布生成新解,經(jīng)過迭代求解,具有求解過程不依賴數(shù)學(xué)模型的特點(diǎn).作為一類啟發(fā)式的隨機(jī)算法,群體智能算法將最優(yōu)化問題視作在解空間(solution space)上的搜索最優(yōu)值的搜索問題,通過啟發(fā)式信息來指導(dǎo)搜索過程.
對于群體智能優(yōu)化算法,通過改變算法的參數(shù)設(shè)置,可以控制算法的收斂和發(fā)散操作;而頭腦風(fēng)暴優(yōu)化算法能將收斂和發(fā)散操作同時嵌入到算法的每一步迭代操作中,體現(xiàn)了群體智能優(yōu)化與數(shù)據(jù)挖掘的結(jié)合.在傳統(tǒng)的群體智能優(yōu)化算法中,每一個群體的解,都被引導(dǎo)向解空間中更好的解變化.最好的解就是優(yōu)化的目標(biāo),而在新的算法中,將所有的解視為整體.每一個個體既是問題的一個解,也是一個數(shù)據(jù)(data),為解空間中的一個樣例(sample).而通過對解集合的變化分析,可以得到解空間中優(yōu)秀解的分布情況,或者解空間中解的“峰值”的多寡.
頭腦風(fēng)暴優(yōu)化算法于 2011年提出,算法模擬了一種人類集思廣益求解問題的集體行為,也就是頭腦風(fēng)暴過程[1-3].分類是自然選擇的過程,將群體分解為具有不同性質(zhì)的集合.BSO 算法中的解集合被分到不同的簇中,通過對一個解或兩個解的組合進(jìn)行變異(mutation)來生成新的解集合.頭腦風(fēng)暴優(yōu)化算法是一種典型的發(fā)展式群體智能算法,具有兩種主要算子:收斂算子與發(fā)散算子.在搜索空間中,對解集合不斷地進(jìn)行收斂和發(fā)散操作,可以獲得“足夠好”的優(yōu)化解.在頭腦風(fēng)暴優(yōu)化算法中, 解集合被聚集到幾個簇中,通過對簇中心或其他現(xiàn)存解的變異來生成新解.BSO算法的一個顯著特性是其發(fā)展勢能(capacity developing)[4],即在搜索中的自適應(yīng)過程.
近年來,頭腦風(fēng)暴優(yōu)化算法得到了學(xué)術(shù)界的廣泛關(guān)注,但由于算法提出時間較晚,目前的研究成果比較分散.基于此,筆者將針對 BSO 算法及其最新研究成果進(jìn)行較全面的綜述,并指出未來值得關(guān)注的研究方向.
頭腦風(fēng)暴方法是指將一些人聚集起來,對單個人難以解決的問題進(jìn)行集思廣益,從而產(chǎn)生解決問題的靈感.在這一過程中,重要的不是這些想法一時的正誤,而是不斷提出新的想法,并在這些想法的基礎(chǔ)上繼續(xù)擴(kuò)展,最終找到解決問題的方法.頭腦風(fēng)暴優(yōu)化算法借鑒了這一過程中的核心思想:延后評判、大膽假設(shè)、交叉借鑒以及以量取勝,通過大量的設(shè)想,最終極大可能性產(chǎn)生一個優(yōu)秀的問題解決方案.算法在優(yōu)化測試函數(shù)上取得了良好的效果.這種新算法結(jié)合了群體智能算法與數(shù)據(jù)挖掘方法的優(yōu)勢,將群體智能優(yōu)化算法中的每個解視為一個數(shù)據(jù)點(diǎn),通過對數(shù)據(jù)點(diǎn)的聚類,找到問題的最優(yōu)解.
BSO算法借鑒了人群的求解問題時集思廣益的集體行為,即頭腦風(fēng)暴過程.算法中的每一個個體在這里代表一個潛在的問題的解,通過個體的演化和融合進(jìn)行個體的更新,這一過程與人類頭腦風(fēng)暴的過程相似.算法的初始實現(xiàn)過程很簡單:
(1) 產(chǎn)生n(種群大小)個待求解問題的解(個體),然后用聚類算法將這n個個體分為m(預(yù)先設(shè)定的參數(shù))類,通過評估這n個個體,將每一類中的個體進(jìn)行排序,選出每一類內(nèi)最優(yōu)的個體作為該類的中心個體;
(2) 隨機(jī)選中一個類的中心個體,按概率大小確定它是否被一個隨機(jī)產(chǎn)生的個體所替代;
(3) 進(jìn)行個體的更新過程,通過某一種方式產(chǎn)生新個體.
基本BSO算法具有概念簡單,易于實現(xiàn)的特點(diǎn), 筆者給出了BSO算法的基本流程. 在算法中,存在3種基本算子:解集合聚類、新解生成和新解選擇算子[5].
頭腦風(fēng)暴優(yōu)化算法基本流程如下:
步驟1 初始化:隨機(jī)生成n個初始個體 (初始解),并分別計算n個個體的適應(yīng)度值.
步驟2 如未找到“足夠好”的解或未達(dá)到預(yù)先設(shè)定的最大迭代次數(shù),重復(fù)以下步驟:
1) 解集合聚類:通過聚類算法將n個個體聚類到m個簇中;
2) 生成新解:隨機(jī)在一個或兩個簇中選擇解去生成新的解個體;
3) 新解選擇:將新的生成解與相同編號的原有解進(jìn)行比較,存儲擁有好的適應(yīng)值的解,作為新解進(jìn)入迭代.
步驟3 計算n個個體的函數(shù)值.
在BSO 算法求解中,解集合被收斂到數(shù)個簇中,通過對簇中一個解或兩個解的組合進(jìn)行變異生成新解,將新的生成解與相同編號的原有解進(jìn)行比較,存儲擁有好的適應(yīng)值(fitness value)的解并作為新解進(jìn)入迭代.當(dāng)生成的新解距離已知最優(yōu)解較近時,算法傾向于開發(fā)能力;而當(dāng)新解隨機(jī)生成或基于兩個簇生成時,算法強(qiáng)化了探索能力.
BSO 算法是一種將搜索空間不斷縮減的算法,通過不斷迭代, 最終所有解將聚集到有限的簇中.這些簇對應(yīng)著待求解問題的局部最優(yōu)解. 擁有較好適應(yīng)值的解所包含的信息,在簇間進(jìn)行不斷傳遞. 算法隨機(jī)產(chǎn)生初始解,首先對解空間進(jìn)行探索,在不斷地迭代后,對探索(exploration)和開發(fā)(exploitation)達(dá)到一個平衡狀態(tài).
1.2.1 解集合聚類
對解集合進(jìn)行聚類的目的是將解集合收斂到一些小的搜索區(qū)域. BSO算法可以使用不同的聚類方法,在最初的 BSO 算法中,使用了k-均值(k-means)聚類算法. 聚類是將相似個體分到同組的過程.在機(jī)器學(xué)習(xí)中,聚類分析也被稱為無監(jiān)督學(xué)習(xí)(unsupervised learning).N個數(shù)據(jù)點(diǎn)作為輸入,將N個點(diǎn)分組到不同的類別中.在分組過程中,通過點(diǎn)之間的相似度計算,可以得到數(shù)據(jù)中所包含的有用信息.在BSO算法中,解集合分布在整個搜索空間中,可以通過解集合的分布情況來揭示待求解問題的結(jié)構(gòu)(landscape).
算法使用了k-means 聚類將n個解聚類到m個簇中,通過聚類將解集合分為不同的類別.通過聚類操作,可以對搜索區(qū)域進(jìn)行“精益求精”.經(jīng)過多次迭代后,所有的解以大的幾率被聚類到一個小的搜索區(qū)域. 概率參數(shù)pclustering用來控制使用隨機(jī)解替換聚類中心的概率,可以防止算法過早的收斂,并有助于解跳出局部極值.
1.2.2 新解生成
算法隨機(jī)選擇一個或兩個類別來生成新解,一個新的個體可以基于一個或多個已有個體進(jìn)行生成. 在初始的 BSO 算法中,概率參數(shù)pgeneration被用來確定新解是基于一個現(xiàn)有解,或兩個現(xiàn)有解的組合來生成. 從一個聚類簇中生成新解,可以對一個搜索區(qū)域進(jìn)行精細(xì)搜索,算法集中于開發(fā)的能力.對應(yīng)地,基于兩個或多個聚類簇生成的新個體可能距離原有的簇中心很遠(yuǎn),在這種情況下,算法更集中于探索的能力.
概率參數(shù)poneCluster和概率參數(shù)ptwoCluster分別用來控制在一個簇或者兩個簇的情況下,選擇簇中心或普通解(非簇中心)來生成新解. 在一個簇生成新解中,通過簇中心或簇中解生成新解,可以控制算法的開發(fā)區(qū)域;而在多個簇生成新解中, 新解基于多個解的信息,可以保持算法的群體多樣性.
根據(jù)公式 (1) 和 (2)生成新的解:
ξ(t)×N(μ,σ2);
(1)
(2)
(3)
1.2.3 新解選擇
新解選擇是將具有較好適應(yīng)值的解保存在解集合中.新解生成后,具有較好函數(shù)適應(yīng)值的解通過選擇策略被保存,而聚類和生成新解策略為群體帶來新的解,可以保持解集合的群體多樣性.
在初始的BSO算法中,在每一次迭代中的聚類算法需要消耗大量計算資源,降低了求解的效率.為了提高計算效率,目標(biāo)空間的頭腦風(fēng)暴優(yōu)化算法(brain storm optimization in objective space,BSO-OS)使用了一個簡單的基于適應(yīng)值的分類方法,將解集合分為精英類與普通類.分類算法代替了聚類算法.對現(xiàn)有解進(jìn)行分析,有效地利用了目標(biāo)空間的求解信息[6].
基本BSO算法與目標(biāo)空間BSO算法的區(qū)別在于新解生成策略. 在基本BSO算法中, 解集合被聚類到不同的簇中;而在目標(biāo)空間BSO算法中,根據(jù)解的函數(shù)值的優(yōu)劣,解集合被分為兩類:精英解和普通解.
一個好的群體智能優(yōu)化算法,應(yīng)具有實現(xiàn)簡單、求解速度快的特點(diǎn).現(xiàn)有BSO算法的研究多集中在理論分析、算法改進(jìn)和算法應(yīng)用等方面,其中包括:
(1) 算法的理論分析,包括多樣性分析和參數(shù)分析;
(2) 改進(jìn)算法的搜索效率,例如,加快解集合的收斂速度;
(3) 應(yīng)用頭腦風(fēng)暴優(yōu)化算法求解多種優(yōu)化問題,例如多目標(biāo)優(yōu)化問題,多模態(tài)優(yōu)化問題;
(4) 應(yīng)用頭腦風(fēng)暴優(yōu)化算法求解實際優(yōu)化問題.
BSO 算法概念簡單,目前算法分析的初步成果包括:不同參數(shù)設(shè)置對算法搜尋性能的影響分析[7]; BSO 算法中的解聚類現(xiàn)象研究;在優(yōu)化過程中對平均聚類數(shù)目進(jìn)行觀測[5];BSO算法群體多樣性定義與觀測[8-9];算法收斂性分析[10];解集合部分解重新初始化的方法也被用來保持解群體的多樣性,協(xié)助解跳出局部極值[9].部分初始化的目的是為了增強(qiáng)算法跳出局部極值的能力,并保持算法的搜索能力.BSO算法是一種發(fā)展式群體智能方法,發(fā)展式群體智能框架也被用來分析BSO算法,收斂和發(fā)散兩種操作分別對應(yīng)著發(fā)展式群體智能框架中的發(fā)展勢能和學(xué)習(xí)能力[11-12].
為了求解不同類型的優(yōu)化問題,需改進(jìn) BSO 算法的求解性能.基于算法的3個算子,研究者們提出了不同的改進(jìn)策略,這些改進(jìn)可以簡單地分為3個類別:解集合聚類、新解生成和混合算法[11].
2.2.1 解集合聚類
在初始BSO算法中采用了k-means聚類算法,算法需要數(shù)次迭代才能對解集合進(jìn)行分組. 為了提高算法的計算效率,不同的分組策略被用來替換原始BSO算法中的k-means 聚類算法.這些分組策略包括:簡單分組方法(simple grouping method, SGM)[13];近鄰傳播聚類(affinity propagation clustering)[14];k-medians 聚類算法;隨機(jī)分組策略(random grouping strategy);全局最優(yōu)(global-best)BSO算法[15].
對于一個優(yōu)化問題,目標(biāo)個數(shù)往往明顯少于求解變量的數(shù)目,即目標(biāo)空間的維度明顯小于解空間的維度.通過在目標(biāo)空間進(jìn)行分組[6],相比于在解空間的操作,可以極大地減少計算負(fù)擔(dān).在目標(biāo)空間BSO算法中,根據(jù)目標(biāo)空間的適應(yīng)值,所有解被分到不同類別.
不同于其他算法,在目標(biāo)空間的頭腦風(fēng)暴優(yōu)化算法中,聚類算法被替換為一個簡單的分類操作.基于函數(shù)值的排序,解集合被簡單分為兩類:精英解類(解具有較好的函數(shù)值)與普通解類(非精英解)[6].基于精英解類或普通解類的一個或兩個解生成新解.將分組操作放在目標(biāo)空間,可以極大地減少了計算負(fù)擔(dān),有助于將BSO算法應(yīng)用于高效求解大規(guī)模優(yōu)化問題.
2.2.2 新解生成
對新解生成進(jìn)行改進(jìn),也可以改善 BSO 算法的搜索效率.為了高效求解不同類型的問題,算法需要自適應(yīng)地利用優(yōu)化中的實時搜索信息. 在新解的生成方面,也存在著大量的研究工作:修改搜索步長和新解生成方式,搜索步長可以根據(jù)解集合的動態(tài)范圍進(jìn)行調(diào)整; 依據(jù)一個批處理模式(batch-mode)生成新解,并在下一次迭代中自適應(yīng)地進(jìn)行選擇;當(dāng)所有解被聚類到一個小的搜索范圍時,對部分解進(jìn)行重新初始化來生成新解,可以保持算法的群體多樣性;將混沌操作(chaotic operation)應(yīng)用于部分解的生成中,來增強(qiáng)全局搜索能力并避免陷入局部最優(yōu); 為了自適應(yīng)地在搜索中改變聚類中簇的數(shù)目,單個或多個簇的結(jié)構(gòu)信息被用來創(chuàng)建新的解集合[14].在基于討論機(jī)制的BSO算法中,加入了簇內(nèi)部和簇間的討論,用來控制算法的全局和局部搜索特性[16].
2.2.3 混合算法
頭腦風(fēng)暴優(yōu)化算法已被用來解決多種實際應(yīng)用問題.為了解決這些特定領(lǐng)域的問題, 提出了多種具有新的算子的BSO算法,例如閉環(huán)(closed-loop)BSO 算法[17];基于捕食者-獵物模型的 BSO 算法[18];量子行為(quantum-behaved) BSO算法[19]等.
在群體智能優(yōu)化算法中,混合算法(hybrid algorithms)可以極大地改進(jìn)單個算法的在特定問題上的優(yōu)化性能. 將算法進(jìn)行混合的目的是為了結(jié)合不同算法的優(yōu)勢,同時改善單個算法搜索的局限性.基于BSO 算法的混合算法被應(yīng)用于不同類型的問題,例如,BSO 與模擬退火(simulated annealing)算法求解連續(xù)優(yōu)化問題;與差分演化(differential evolution)算法結(jié)合應(yīng)用于人工神經(jīng)網(wǎng)絡(luò)(artificial neural network).其他與BSO算法的混合的算法包括:基于教學(xué)算法(teaching-learning-based algorithm);離散的粒子群優(yōu)化(discrete particle swarm optimization)算法.
在基本的 BSO 算法中,BSO算法被用來求解單目標(biāo)優(yōu)化問題[1-2],然而,經(jīng)過一些調(diào)整, BSO算法也可被用來求解其他類型的問題,例如多目標(biāo)優(yōu)化問題[3];多模態(tài)優(yōu)化問題[20]等.多模態(tài)優(yōu)化與多目標(biāo)優(yōu)化的目的都是尋找一組最優(yōu)解,而不是單個最優(yōu)解.在BSO算法中,將解集合分為不同的類別,理想狀態(tài)下不同類別可以對應(yīng)搜索空間中的不同極值.通過這種 BSO 算法內(nèi)在特征,可以提高算法在多個最優(yōu)解問題上的性能.
多模態(tài)優(yōu)化,即求解多模態(tài)優(yōu)化問題 (multimodal optimization problem),其目標(biāo)是在算法的一次搜索過程中,盡可能多地的尋找到多個極值(包括全局最優(yōu)和局部最優(yōu)),并將這些極值保持到搜索結(jié)束.由于待求解個數(shù)的不確定性、解分布的不確定性等特征,決定了多模態(tài)問題的復(fù)雜性.
多目標(biāo)優(yōu)化,即求解多目標(biāo)優(yōu)化問題(multiobjective optimization problem),其目標(biāo)是在算法的一次搜索過程中,盡可能滿足幾個目標(biāo)函數(shù)的要求.不同的目標(biāo)函數(shù)對變量可能存在著相互沖突的要求,因此,各個目標(biāo)函數(shù)通常不會同時達(dá)到最優(yōu).這就使得多目標(biāo)問題不存在單目標(biāo)問題意義上的“最優(yōu)解”,而只存在一組滿足“帕累托最優(yōu) (pareto optima)”條件的解. 頭腦風(fēng)暴優(yōu)化算法已被設(shè)計用來求解多目標(biāo)優(yōu)化問題[3].
與傳統(tǒng)多目標(biāo)優(yōu)化方法不同的是,頭腦風(fēng)暴優(yōu)化算法可以直接利用目標(biāo)空間的信息.在目標(biāo)空間中聚類生成簇,對于每個目標(biāo), 解集合可以在每次迭代[3]或者目標(biāo)空間進(jìn)行聚類.在大多數(shù)目標(biāo)上表現(xiàn)優(yōu)異的解將被保留進(jìn)入下一次迭代,而其他解將隨機(jī)被選擇進(jìn)入下一次迭代以保持解集合的群體多樣性.
群體多樣性 (population diversity) 分析:影響群智能算法性能的重要因素是算法“探索”(exploration)和“開發(fā)”(exploitation)能力的平衡性,而算法的群體多樣性是衡量算法探索和開發(fā)狀態(tài)的重要指標(biāo).對群體多樣性進(jìn)行觀測,多樣性在瞬態(tài)的值描述算法當(dāng)時的運(yùn)行狀態(tài),而多樣性值的變化趨勢描述了算法的整體求解過程.如何合理地定義群體多樣性,正確地表征算法執(zhí)行時解集合的運(yùn)動過程,這對于頭腦風(fēng)暴優(yōu)化算法有著重要的意義.
頭腦風(fēng)暴優(yōu)化算法被用來解決多種實際應(yīng)用問題,其中可以分為以下幾類.
(1) 電力系統(tǒng)問題:求解目標(biāo)是為電力系統(tǒng)中的設(shè)備找到最優(yōu)的位置和設(shè)置.BSO 算法被用來求解電力系統(tǒng)中的不同類型問題,例如考慮風(fēng)電的經(jīng)濟(jì)調(diào)度問題;最優(yōu)FACTS 配置;電力調(diào)度問題,最優(yōu)潮流求解問題.
(2) 航空領(lǐng)域設(shè)計問題: BSO算法被應(yīng)用于求解航空領(lǐng)域的多個問題,例如衛(wèi)星編隊優(yōu)化重構(gòu)問題[17];Loney 電磁問題[19];直流無刷電機(jī)效率問題[18];多無人機(jī)編隊飛行的滾動時域控制;F/A-18 艦載機(jī)自動著陸系統(tǒng);代理路由和光傳感器任務(wù)問題等.
(3) 無線傳感器網(wǎng)絡(luò) (wireless sensor networks, WSN)優(yōu)化問題:基于無線傳感器網(wǎng)絡(luò),物理世界將變成一種信息系統(tǒng),不同類型的傳感器連接構(gòu)建成一個網(wǎng)絡(luò),信息可以在網(wǎng)絡(luò)間不斷交互,大規(guī)模和長期的無線傳感器網(wǎng)絡(luò)將會產(chǎn)生大量的數(shù)據(jù),如何分析這些數(shù)據(jù)將是一個研究難題.BSO 算法也應(yīng)用到了無線傳感器網(wǎng)絡(luò)問題中,如傳感器網(wǎng)絡(luò)部署問題上的應(yīng)用[14];最優(yōu)覆蓋問題;全區(qū)域覆蓋問題等.
(4) 金融優(yōu)化問題:金融優(yōu)化問題常被建模為組合優(yōu)化問題.為了求解離散問題,BSO 算法需采用新的編碼策略.頭腦風(fēng)暴優(yōu)化算法和基于頭腦風(fēng)暴優(yōu)化算法的支持向量回歸(v-SVR)被分別應(yīng)用于股票指數(shù)預(yù)測問題.
(5) 其他優(yōu)化問題:大規(guī)模和分布式資源中心的節(jié)能問題常被建模為多目標(biāo)問題,能耗和執(zhí)行時間是兩個優(yōu)化目標(biāo).一種多目標(biāo)BSO 算法被用來解決網(wǎng)格系統(tǒng)的多目標(biāo)能量優(yōu)化問題.此外,BSO 算法被應(yīng)用于解決多種問題,其中包括方程組問題;基于BSO算法的SAR 圖像去噪聲方法;基于BSO 優(yōu)化算法求解短期風(fēng)速預(yù)測問題;配煤優(yōu)化問題研究;圖像檢索問題;圖像融合問題;數(shù)據(jù)分類問題;非線性方程問題;推薦系統(tǒng)中的矩陣分解問題;頻譜感知問題;離散調(diào)度問題;訓(xùn)練隱馬爾科夫模型進(jìn)行轉(zhuǎn)錄因子結(jié)合位點(diǎn)分析;投資組合優(yōu)化問題.
頭腦風(fēng)暴優(yōu)化算法有3個算子,現(xiàn)有解聚類/分類、新解的生成和解的選擇.分析算子的參數(shù)的不同設(shè)置,增加或者改變算子,對算法的求解效率和優(yōu)化效果的影響.建立算子與不同求解問題之間的聯(lián)系,觀測和控制頭腦風(fēng)暴優(yōu)化算法的優(yōu)化過程.
現(xiàn)有的算法改進(jìn)基本集中在原有解的聚類步驟.在初始的算法中,k-means 聚類算法被用來對原有解的分布進(jìn)行分析,由于k-means 算法需要多次迭代,新的聚類算法被用來提高算法的效率.在基于目標(biāo)空間的BSO算法中,基于適應(yīng)值的分類算法替換了聚類算法對現(xiàn)有解進(jìn)行分析,極大地提高了算法的效率.解集合具有更多相似性,就可以被分到一個類別中,這種相似性在解空間可以用解間的距離來度量,在目標(biāo)空間可以用相似的適應(yīng)度來度量.在初始的BSO算法中,就采用了解空間的距離度量,而在目標(biāo)空間的BSO算法中,采用了適應(yīng)度來度量.對于高維度問題,例如現(xiàn)有的大數(shù)據(jù)分析問題、大規(guī)劃優(yōu)化問題及復(fù)雜系統(tǒng)分析問題等,都需要算法可以高效地在短時間內(nèi)處理大量數(shù)據(jù).將 BSO 算法應(yīng)用到大規(guī)模問題上來求解大數(shù)據(jù)分析問題,也需要研究新的度量方式來提高算法的效率.
實際系統(tǒng)的復(fù)雜性日益增加,新類型的優(yōu)化問題不斷增加,為算法的求解帶來了新的困難.多模態(tài)多目標(biāo)優(yōu)化問題(multimodal multiobjective optimization problem)就是一種新型的優(yōu)化問題.這種問題結(jié)合了多模態(tài)問題和多目標(biāo)問題的難點(diǎn),多個解在解空間中擁有相同的適應(yīng)值,如何找到盡可能多解,同時在目標(biāo)空間的“帕累托前沿”擁有更好的分布,都增加了問題的求解難度.將BSO算法應(yīng)用于各種新型問題,可以檢驗BSO算法的在新問題上的泛化能力.
大部分的實際應(yīng)用問題,都可以建模為一個優(yōu)化問題進(jìn)行求解.如何選擇合適的求解變量,建立恰當(dāng)?shù)哪繕?biāo)函數(shù)模型,是解決問題的首要難題.將 BSO 優(yōu)化算法,或者更廣泛地將群體智能優(yōu)化算法應(yīng)用于求解不同類型的實際應(yīng)用問題[21],對群體智能優(yōu)化算法的發(fā)展將大有裨益.
在群體智能優(yōu)化算法中,隨機(jī)生成一個可行解的集合,通過集合內(nèi)解的競爭和交互,不斷迭代生成新解,最終收斂于滿足要求的極值解.算法的性能往往通過在測試函數(shù)集(benchmark functions)上的結(jié)果來評判,缺乏對算法運(yùn)行過程中的動態(tài)分析.群體智能算法中的每個個體,代表在解空間中的一個解,這些個體亦可以視為解空間中的一個數(shù)據(jù)點(diǎn).通過對這些數(shù)據(jù)點(diǎn)的分布情況進(jìn)行分析,算法可以學(xué)習(xí)問題的結(jié)構(gòu),更有針對性地解決問題.
筆者對頭腦風(fēng)暴優(yōu)化算法的發(fā)展歷程,發(fā)展現(xiàn)狀和未來研究方向進(jìn)行了綜述.頭腦風(fēng)暴優(yōu)化算法是一種新型的群體智能優(yōu)化方法,算法將數(shù)據(jù)分析應(yīng)用到優(yōu)化的過程中,結(jié)合了群體智能和數(shù)據(jù)分析的優(yōu)勢.在頭腦風(fēng)暴優(yōu)化算法中,每個個體不僅是待求解問題的一個解,也是解空間的一個數(shù)據(jù)采樣,可以用來揭示解空間的結(jié)構(gòu). 該算法通過將群體智能算法與數(shù)據(jù)分析方法進(jìn)行有機(jī)融合,結(jié)合兩種方法的優(yōu)勢,最終達(dá)到高效求解問題的目的.
參考文獻(xiàn):
[1] SHI Y. Brain storm optimization algorithm[C]∥Proceedings of Second International Conference on Swarm Intelligence (ICSI 2011). Chongqing, China: Springer, 2011: 303-309.
[2] SHI Y. An optimization algorithm based on brainstorming process[J]. International journal of swarm intelligence research (IJSIR), 2011, 2(4):35-62.
[3] SHI Y, XUE J, WU Y. Multi-objective optimization based on brain storm optimization algorithm[J]. International journal of swarm intelligence research (IJSIR), 2013, 4(3):1-21.
[4] SHI Y. Developmental swarm intelligence: Developmental learning perspective of swarm intelligence algorithms[J]. International journal of swarm intelligence research (IJSIR), 2014, 5(1):36-54.
[5] CHENG S, SHI Y, QIN Q, et al. Solution clustering analysis in brain storm optimization algorithm[C]∥ Proceedings of The 2013 IEEE Symposium on Swarm Intelligence (SIS 2013). Singapore: IEEE, 2013: 111-118.
[6] SHI Y. Brain storm optimization algorithm in objective space[C]∥ Proceedings of 2015 IEEE Congress on Evolutionary Computation (CEC 2015). Sendai, Japan: IEEE, 2015:1227-1234.
[7] ZHAN Z H, CHEN W N, LIN Y, et al. Parameter investigation in brain storm optimization[C]∥ Proceedings of the 2013 IEEE Symposium on Swarm Intelligence (SIS 2013).Singapore:IEEE, 2013:103-110.
[8] CHENG S, SHI Y, QIN Q, et al. Maintaining population diversity in brain storm optimization algorithm[C]∥Proceedings of 2014 IEEE Congress on Evolutionary Computation (CEC 2014). Beijing, China: IEEE, 2014: 3230-3237.
[9] CHENG S, SHI Y, QIN Q, et al. Population diversity maintenance in brain storm optimization algorithm[J]. Journal of artificial intelligence and soft computing research (JAISCR),2014, 4(2):83-97.
[10] ZHOU Z, DUAN H, SHI Y. Convergence analysis of brain storm optimization algorithm[C]∥ Proceedings of 2016 IEEE Congress on Evolutionary Computation (CEC 2016). Vancouver, Canada: IEEE, 2016: 3747-3752.
[11] CHENG S, QIN Q, CHEN J, et al. Brain storm optimization algorithm: A review[J]. Artificial intelligence review, 2016, 46(4):445-458.
[12] CHENG S, SUN Y, CHEN J, et al. A comprehensive survey of brain storm optimization algorithms[C]∥ Proceedings of 2017 IEEE Congress on Evolutionary Computation (CEC 2017). Donostia/San Sebastián, Spain: IEEE, 2017: 1673-1644.
[13] ZHAN Z H, ZHANG J, SHI Y H, et al. A modified brain storm optimization[C]∥ Proceedings of the 2012 IEEE Congress on Evolutionary Computation (CEC 2012). Brisbane, Australia: IEEE, 2012: 1969-1976.
[14] CHEN J, CHENG S, CHEN Y, et al. Enhanced brain storm optimization algorithm for wireless sensor networks deployment[C]∥ Proceedings of 6th International Conference on Swarm Intelligence (ICSI 2015). Beijing, China: Springer, 2015: 373-381.
[15] EL-ABD M. Global-best brain storm optimization algorithm[J]. Swarm and evolutionary computation, 2017, 37: 27-44.
[16] YANG Y, SHI Y, XIA S. Advanced discussion mechanism-based brain storm optimization algorithm[J]. Soft computing, 2015, 19(10):2997-3007.
[17] SUN C, DUAN H, SHI Y. Optimal satellite formation reconfiguration based on closed-loop brain storm optimization[J]. IEEE computational intelligence magazine, 2013, 8(4): 39-51.
[18] DUAN H, LI S, SHI Y. Predator-prey brain storm optimization for DC brushless motor[J]. IEEE transactions on magnetics, 2013, 49(10):5336-5340.
[19] DUAN H, LI C. Quantum-behaved brain storm optimization approach to solving Loney’s solenoid problem[J]. IEEE transactions on magnetics, 2015, 51(1):1-7.
[20] CHENG S, QIN Q, CHEN J, et al. Brain storm optimization in objective space algorithm for multimodal optimization problems[C]∥ Proceedings of 7th International Conference on Swarm Intelligence (ICSI 2016). Bali, Indonesia: Springer, 2016: 469-478.
[21] 孫曉燕, 朱利霞, 陳楊,等. 基于可能性條件偏好網(wǎng)絡(luò)的交互式遺傳算法及其應(yīng)用[J].鄭州大學(xué)學(xué)報(工學(xué)版), 2017, 36(6): 1-5.