專利名稱:一種基于蟻群算法的動(dòng)態(tài)聯(lián)盟伙伴選擇方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種數(shù)據(jù)計(jì)算方法,特別涉及一種動(dòng)態(tài)聯(lián)盟伙伴選擇方法。
背景技術(shù):
螞蟻已經(jīng)存在了長(zhǎng)達(dá)1億年,是自然界最成功的種群之一。簡(jiǎn)單的螞蟻個(gè)體之間的協(xié)作行為,表現(xiàn)為整個(gè)群體高度結(jié)構(gòu)化的社會(huì)組織,在很多情況下能夠完成遠(yuǎn)遠(yuǎn)超出螞蟻個(gè)體能力的復(fù)雜任務(wù)。這種來自生物界的個(gè)體行為的協(xié)作集合,所體現(xiàn)出的高度結(jié)構(gòu)化的群體能力的驚人提升,正與工業(yè)界的動(dòng)態(tài)聯(lián)盟的內(nèi)涵相暗合。這也正是促使本發(fā)明采用該算法的動(dòng)因。
蟻群算法(Ant Colony Optimization,ACO)思想來自螞蟻尋找食物的行為,是一種全局優(yōu)化算法。蟻群算法優(yōu)化過程有四種機(jī)制①路徑選擇機(jī)制。信息量越大的路徑,被選擇的概率越大。②信息素更新機(jī)制。路徑上的信息量濃度會(huì)隨螞蟻的經(jīng)過而增長(zhǎng),同時(shí)也隨著時(shí)間的推移逐漸衰減。③交流協(xié)調(diào)機(jī)制。螞蟻個(gè)體之間是通過信息素來互相通信,協(xié)同工作。④最優(yōu)解搜索機(jī)制。蟻群?jiǎn)为?dú)一個(gè)搜索循環(huán)得到的解,只是局部最優(yōu)。適當(dāng)?shù)木植克阉魉惴?,能擴(kuò)大搜索空間,有利于發(fā)現(xiàn)全局最優(yōu)解。在這四種機(jī)制下,蟻群算法將信息正反饋原理和啟發(fā)式算法有機(jī)結(jié)合,蟻群個(gè)體之間不斷交流、傳遞信息,相互協(xié)作,有利于發(fā)現(xiàn)較好解。
在自然界中,蟻群是在一定的小范圍生態(tài)環(huán)境——小生境(Microhabitat)中進(jìn)行活動(dòng)的。小生境中有著各種因素影響螞蟻的尋優(yōu)活動(dòng)。制造企業(yè)動(dòng)態(tài)聯(lián)盟實(shí)際上也可以看作是在特定范圍中的企業(yè)相互聯(lián)系,相互作用的群體。這個(gè)范圍中的各種因素影響著企業(yè)對(duì)盟友的選擇,比如生產(chǎn)時(shí)間、成本、質(zhì)量、候選伙伴信譽(yù)度、生產(chǎn)能力,以及物流成本、物流時(shí)間等因素。并且還要根據(jù)各個(gè)因素相應(yīng)的重要性和特點(diǎn)予以分別考慮,以對(duì)候選伙伴進(jìn)行優(yōu)化組合。所以選擇合作伙伴是一個(gè)多目標(biāo)優(yōu)化的問題。企業(yè)動(dòng)態(tài)聯(lián)盟的快速組建與在小的生態(tài)環(huán)境下螞蟻的尋優(yōu)活動(dòng)頗有相似之處。
然而,基本蟻群算法也存在有待解決的問題。①信息正反饋在強(qiáng)化性能較好的解的同時(shí),將搜索空間逐步局限在一個(gè)很小的范圍內(nèi),可能只得到局部最優(yōu)解。②由于結(jié)點(diǎn)間經(jīng)驗(yàn)信息趨向穩(wěn)定,導(dǎo)致轉(zhuǎn)移概率基本保持不變,極易陷入停滯。
發(fā)明內(nèi)容
本發(fā)明是針對(duì)現(xiàn)有基本蟻群算法存在著極易陷入停滯的問題,提出了一種基于蟻群算法的動(dòng)態(tài)聯(lián)盟伙伴選擇方法,提出“小生境蟻群算法”(MACO)。MACO在利用正反饋的同時(shí),引入時(shí)變參數(shù)來利用經(jīng)驗(yàn)信息和啟發(fā)信息,并在局部尋優(yōu)時(shí)結(jié)合了小生境信息差的思想,從而有效地防止遺傳算法中出現(xiàn)的“早熟”問題和螞蟻算法中發(fā)生的“停滯”狀態(tài)。
本發(fā)明的技術(shù)方案為一種基于蟻群算法的動(dòng)態(tài)聯(lián)盟伙伴選擇方法,包括如下步驟 1)根據(jù)制造企業(yè)動(dòng)態(tài)聯(lián)盟的具體情況,建立相應(yīng)的制造協(xié)同鏈-MCC,然后根據(jù)各個(gè)環(huán)節(jié)對(duì)資源的需求特點(diǎn),確定每個(gè)環(huán)節(jié)的評(píng)價(jià)指標(biāo)體系以及每個(gè)環(huán)節(jié)的指標(biāo)約束值; 2)根據(jù)實(shí)際條件確定環(huán)節(jié)vi的侯選角色元的組合性能矩陣,計(jì)算vi的侯選角色元可以產(chǎn)生的2-可重組合,以及環(huán)節(jié)vi的侯選角色元到vi+1的侯選角色元之間的通道性能矩陣,在此基礎(chǔ)上建立候選伙伴有向圖CEC=(CEV,CEA),CEV=(1,2,…,n}是候選結(jié)點(diǎn)集合,CEA={(i,j)}是邊的集合; 3)利用小生境蟻群算法(MACO)選擇最佳候選角色元組合。
所述小生境蟻群算法(MACO)的實(shí)現(xiàn)步驟 1)初始化設(shè)定最大循環(huán)次數(shù)Cyclemax,螞蟻數(shù)m。開始時(shí),所有的m個(gè)螞蟻都集中在起點(diǎn)S。賦予每條邊上相等數(shù)量的信息量τ0=C,C常數(shù); 2)路徑選擇螞蟻k從S點(diǎn)出發(fā),按照選擇策略,從和S相關(guān)聯(lián)的結(jié)點(diǎn)的集合中,選擇一個(gè)結(jié)點(diǎn)a,以及a的一條后繼邊;然后,再從這條邊連接的另一結(jié)點(diǎn)b開始,從和b相關(guān)聯(lián)的邊的集合中,選擇另一條邊。如果螞蟻?zhàn)叩侥辰Y(jié)點(diǎn),該結(jié)點(diǎn)沒有后繼結(jié)點(diǎn),則螞蟻死亡,刪除該螞蟻經(jīng)過路徑的記錄,標(biāo)記此結(jié)點(diǎn)為斷路,下次不再選擇此結(jié)點(diǎn); 以此類推,直到搜索到終點(diǎn)E。于是,螞蟻k得到一個(gè)從S到E的解。螞蟻k搜索完后,其余的螞蟻按照和k相同的方法,搜索出從S到E的其它路徑; 3)局部搜索當(dāng)m只螞蟻搜索完后,求得m個(gè)解,包括重復(fù)的,螞蟻個(gè)體之間交流信息,借助小生境信息差對(duì)路徑“再探索”。小生境信息差是通過對(duì)這m個(gè)解采用遺傳操作,遺傳交叉,遺傳變異,來實(shí)現(xiàn)的,利用遺傳算法,進(jìn)行局部搜索,得到局部最優(yōu)解; 4)更新信息素在每一次搜索周期結(jié)束時(shí),即所有螞蟻到達(dá)目的地時(shí),更新全部路徑的信息素; 5)求全局最優(yōu)解到當(dāng)前迭代次數(shù)為止,所建立的所有局部最優(yōu)解中,最小值的解作為當(dāng)前迭代次數(shù)的全局最優(yōu)解,即最短路徑的距離值。
所述2-可重組合為一個(gè)環(huán)節(jié)角色最多由兩個(gè)角色元聯(lián)合起來承擔(dān)的情況,當(dāng)兩個(gè)角色元聯(lián)合時(shí),設(shè)兩者的先后次序不影響它們之間的物流指標(biāo),且相同角色元的組合等同于單個(gè)角色元。
本發(fā)明的有益效果在于本發(fā)明一種基于蟻群算法的動(dòng)態(tài)聯(lián)盟伙伴選擇方法,把制造企業(yè)動(dòng)態(tài)聯(lián)盟建盟過程中合作伙伴的選擇抽象為多目標(biāo)優(yōu)化的問題,并建立了優(yōu)化選擇目標(biāo)函數(shù)。利用MACO解算這個(gè)多目標(biāo)問題,可以獲得最優(yōu)解。從而高效、準(zhǔn)確地尋找動(dòng)態(tài)聯(lián)盟伙伴的最佳組合。
圖1本發(fā)明一種基于蟻群算法的動(dòng)態(tài)聯(lián)盟伙伴選擇方法中搜索三階段示意圖。
具體實(shí)施例方式 在分析和總結(jié)蟻群算法的研究工作的基礎(chǔ)上,本發(fā)明從蟻群算法四種優(yōu)化機(jī)制對(duì)基本蟻群算法進(jìn)行改進(jìn),提出小生境蟻群算法(Microhabitat ACO,MACO),用以選擇最優(yōu)的聯(lián)盟伙伴。
為了避免基本蟻群算法中信息正反饋的負(fù)面效應(yīng),在不斷強(qiáng)化性能較好較優(yōu)解的同時(shí),既要使得算法的搜索空間盡可能的大,以尋找那些可能存在最優(yōu)解的解區(qū)間;還要充分利用群體內(nèi)當(dāng)前的有效信息,使得算法搜索的側(cè)重點(diǎn)放在那些可能具有較高適應(yīng)值的個(gè)體所在的區(qū)間內(nèi),從而以“大概率”收縮到全局最優(yōu)解,在“探索”(exploration)、“利用”(exploitation)、“再探索”之間建立一個(gè)平衡點(diǎn)。“利用”是指選擇信息量最高的路徑,“探索”是指按信息量高、概率高的原則去發(fā)現(xiàn)并選擇更優(yōu)路徑。
最優(yōu)解的搜索過程可分為初期、中期和后期三個(gè)階段,各階段所擁有的信息特點(diǎn)不同,如圖1所示搜索三階段示意圖。蟻群算法對(duì)經(jīng)驗(yàn)信息和啟發(fā)信息的利用是隨著搜索演化進(jìn)程而變化的,各參數(shù)的取值也應(yīng)自適應(yīng)地改變,以建立恰當(dāng)?shù)摹疤剿鳌?、“利用”、“再探索”的平衡點(diǎn)。
一、對(duì)本發(fā)明的分析 作為社會(huì)性生物,螞蟻個(gè)體之間不僅通過信息素交流,并且兩兩之間還用觸須直接交流信息。由于螞蟻活動(dòng)的小生境存在各種自然因素(風(fēng)、溫度、濕度等),以及螞蟻個(gè)體之間存在差異,在交流信息的時(shí)候,發(fā)送方發(fā)出的消息和接收方收到的信息,很可能發(fā)生了變化。
本發(fā)明將這種在小生境中,由于外界因素的影響,使得信息在信息源與信息接受端之間發(fā)生的改變稱為小生境信息差(Information Differece)。小生境信息差增加了信息的多樣性,可以認(rèn)為是一次擴(kuò)大搜索空間的機(jī)會(huì)。借鑒遺傳算法遺傳操作(交叉和變異),處理螞蟻個(gè)體之間所交流的信息,產(chǎn)生信息差,可以擴(kuò)大解的搜索空間,并選擇其中的最優(yōu)解。
1、小生境蟻群算法的實(shí)現(xiàn) 為了便于描述,不失一般性,在螞蟻覓食路徑有向圖中增加兩個(gè)空(empty)結(jié)點(diǎn),即起始點(diǎn)S和結(jié)束點(diǎn)E,用以標(biāo)志結(jié)點(diǎn)搜索的開始和結(jié)束。MACO求解有向圖的最短路徑問題的主要實(shí)現(xiàn)步驟如下 (1)初始化設(shè)定最大循環(huán)次數(shù)Cyclemax,螞蟻數(shù)m。開始時(shí),所有的m個(gè)螞蟻都集中在起點(diǎn)S。賦予每條邊上相等數(shù)量的信息量τ0=C,C常數(shù)。
(2)路徑選擇螞蟻k從S點(diǎn)出發(fā),按照選擇策略,從和S相關(guān)聯(lián)的結(jié)點(diǎn)的集合中,選擇一個(gè)結(jié)點(diǎn)a,以及a的一條后繼邊;然后,再從這條邊連接的另一結(jié)點(diǎn)b開始,從和b相關(guān)聯(lián)的邊的集合中,選擇另一條邊。如果螞蟻?zhàn)叩侥辰Y(jié)點(diǎn),該結(jié)點(diǎn)沒有后繼結(jié)點(diǎn),則螞蟻死亡,刪除該螞蟻經(jīng)過路徑的記錄,標(biāo)記此結(jié)點(diǎn)為斷路,下次不再選擇此結(jié)點(diǎn)。
以此類推,直到搜索到終點(diǎn)E。于是,螞蟻k得到一個(gè)從S到E的解。螞蟻k搜索完后,其余的螞蟻按照和k相同的方法,搜索出從S到E的其它路徑。
在局部搜索時(shí),螞蟻既考慮下一段路的長(zhǎng)度,也會(huì)考慮其信息素的分布強(qiáng)度,在相鄰結(jié)點(diǎn)中以一定的概率選擇下一到達(dá)結(jié)點(diǎn)。位于結(jié)點(diǎn)i的螞蟻k,按以下選擇策略選擇下一結(jié)點(diǎn)j 其中,allowedk(k=1,2,…,m)表示當(dāng)前允許螞蟻k通過的結(jié)點(diǎn),τij表示散播在結(jié)點(diǎn)i與結(jié)點(diǎn)j之間的路段(i,j)上的信息素,代表解空間搜索的一種趨向信息,是螞蟻從結(jié)點(diǎn)i向結(jié)點(diǎn)j移動(dòng)的動(dòng)力;ηij是評(píng)價(jià)螞蟻個(gè)體在結(jié)點(diǎn)i結(jié)點(diǎn)j之間的路段(i,j)上的搜索代價(jià),是從結(jié)點(diǎn)i向結(jié)點(diǎn)j移動(dòng)的啟發(fā)函數(shù),ηij=1/dij;α(t)用于描述經(jīng)驗(yàn)信息的重要性,β(t)用于描述啟發(fā)函數(shù)的重要性,均為正實(shí)數(shù)。
基本蟻群算法在搜索的整個(gè)過程中α和β均保持不變。其后果是算法越來越依賴于問題的局部特征,算法后期新的更優(yōu)秀的解的突現(xiàn)越來越困難。局部信息不斷累積,最終使得算法收斂于一個(gè)與問題局部特征密切相關(guān)的解。并且算法本身在演化過程中對(duì)經(jīng)驗(yàn)信息和啟發(fā)信息的需求是變化的,不變參數(shù)的算法難以滿足這一需要。
在MACO算法運(yùn)行的初期,為了保證解的相對(duì)較優(yōu)性,需要更多的利用啟發(fā)信息,這是縮小搜索空間的需要;而在算法后期,為了保證更優(yōu)解的突現(xiàn),需要更多的“利用”經(jīng)驗(yàn)信息,而淡化局部信息的影響。因此,設(shè)置, α(t)=α0+kα×t (2) β(t)=β0-kβ×t (3) 其中α0和β0為初始設(shè)置的參數(shù)數(shù)值,取值范圍同于基本蟻群算法,0≤α0≤5,1≤β0≤5。kα,kβ為兩個(gè)正常數(shù)(0<kα,kβ<1),對(duì)于離散問題,t等于算法中的循環(huán)代數(shù)Cycle,且要求kβ<β0/Cyclemax,Cyclemax為最大循環(huán)次數(shù)。kα一般可以取kα=kβ。
(3)局部搜索。當(dāng)m只螞蟻搜索完后,求得m個(gè)解(包括重復(fù)的)。螞蟻個(gè)體之間交流信息,借助小生境信息差對(duì)路徑“再探索”。小生境信息差是通過對(duì)這m個(gè)解采用遺傳操作(遺傳交叉,遺傳變異)來實(shí)現(xiàn)的。利用遺傳算法,進(jìn)行局部搜索,得到局部最優(yōu)解。
(4)更新信息素。螞蟻更新信息素的方式有兩種局部更新和全局更新。局部更新規(guī)則是螞蟻每移向下一個(gè)結(jié)點(diǎn),就會(huì)在該路徑上留下信息素;全局更新則是在每一次搜索周期結(jié)束時(shí)(即所有螞蟻到達(dá)目的地時(shí)),更新全部路徑的信息素。全局更新考慮了每只螞蟻每次尋路的結(jié)果,隱含了信息反饋,使得算法更容易趨優(yōu)。本發(fā)明采用全局更新。將上一步得到的局部最優(yōu)結(jié)果反作用于問題空間,即在有向圖上進(jìn)行軌跡濃度更新。
設(shè)信息素?fù)]發(fā)率為(1-ρ),每次循環(huán)結(jié)束時(shí)路段(i,j)上的信息素強(qiáng)度τij(t+n)為τij(t+n)=ρ·τij(t)+Δτij(4) Visitedij為該次循環(huán)中經(jīng)過路段(i,j)的螞蟻集合, 其中,Lk為第k只螞蟻在該循環(huán)中的局部最優(yōu)目標(biāo)函數(shù)值。
因?yàn)榻?jīng)驗(yàn)信息和啟發(fā)信息的利用是隨著搜索演化進(jìn)程而變化的,所以采用時(shí)變函數(shù)Q(t)來代替基本蟻群算法調(diào)整信息素中為常數(shù)項(xiàng)的信息素強(qiáng)度Q。Q(t)隨著搜索逐漸變大,更新量也逐漸變大。
Q(t)=Q0+kQ×t(7) 其中,kQ的取值依據(jù)經(jīng)驗(yàn)。一般取為和kα、kβ同一個(gè)數(shù)量級(jí),使得Q(t)的變化不太大。
根據(jù)局部最優(yōu)解計(jì)算全局信息增量。全局更新后,繼續(xù)迭代直到滿足停止條件。停止條件為最大迭代次數(shù)或解處于停滯狀態(tài)。
(5)求全局最優(yōu)解。到當(dāng)前迭代次數(shù)為止,所建立的所有局部最優(yōu)解中,最小值的解作為當(dāng)前迭代次數(shù)的全局最優(yōu)解,即最短路徑的距離值。
MACO算法在搜索初期,以利用啟發(fā)信息為主;隨著搜索的演進(jìn),經(jīng)驗(yàn)信息增多,則以利用經(jīng)驗(yàn)信息為主,加速解的收斂;而到了搜索的后期,要避免算法早熟、停滯的現(xiàn)象,采用遺傳算法實(shí)現(xiàn)小生境信息差,擴(kuò)大了解的搜索空間,保證更優(yōu)解的突現(xiàn)。在算法后期的尋優(yōu)性能上優(yōu)于單一的遺傳算法或者蟻群算法,能有效防止遺傳算法中出現(xiàn)的“早熟”問題和蟻群算法中發(fā)生的“停滯”狀態(tài)。
2、伙伴優(yōu)化選擇的蟻群系統(tǒng)模型建立 制造企業(yè)動(dòng)態(tài)聯(lián)盟伙伴選擇優(yōu)化問題可描述為從候選企業(yè)集合CE中,為每項(xiàng)環(huán)節(jié)角色vi選擇合適的合作伙伴,并考慮物流時(shí)間和成本,使整個(gè)制造協(xié)同鏈(Manufacturing Cooperative Chain,MCC)以最佳性能(時(shí)間、成本、質(zhì)量等)完成。這是一個(gè)多目標(biāo)優(yōu)化問題。
對(duì)某種產(chǎn)品的一條MCC,C=(V,A),其中cardV=n。有候選角色元集合CE,cardCE=m。每個(gè)環(huán)節(jié)角色vi(0≤i≤n)的候選角色元有mi(mi≤m)個(gè)。CEi={ceij/i=1,2,…,n,j=1,2,…,mi}為能勝任環(huán)節(jié)角色vi的候選角色元集合, 最理想的組合情況是vi由單獨(dú)一個(gè)角色元承擔(dān),且vi的任一候選角色元可以選擇vi+1的任一候選角色元進(jìn)行聯(lián)合。此時(shí),只要在MCC的每個(gè)結(jié)點(diǎn)選擇環(huán)節(jié)評(píng)價(jià)指標(biāo)和物流指標(biāo)性能最優(yōu)的角色元,就可得到最優(yōu)的聯(lián)盟伙伴組合。
但在實(shí)際情況中,因?yàn)槌杀尽⒔回浧诘纫蛩?,使得一個(gè)角色元不能單獨(dú)完成環(huán)節(jié)任務(wù)時(shí),或者多個(gè)角色元聯(lián)合承擔(dān)比單獨(dú)一個(gè)角色元承擔(dān)某環(huán)節(jié)能取得更好的效益時(shí),就可能出現(xiàn)多個(gè)角色元承擔(dān)一個(gè)環(huán)節(jié)的情況。同時(shí),由于經(jīng)濟(jì)、法律、技術(shù)等原因,承擔(dān)環(huán)節(jié)vi的某一候選角色元往往不能隨意選擇后繼結(jié)點(diǎn)vi+1的侯選角色元進(jìn)行聯(lián)合。而是基于某些規(guī)則或某些條件,有選擇地和vi+1的某些候選角色元進(jìn)行聯(lián)合的。
設(shè)環(huán)節(jié)vi、vi+1分別有mi、mi+1個(gè)侯選角色元。為了簡(jiǎn)化模型,本發(fā)明考察一個(gè)環(huán)節(jié)角色最多由兩個(gè)角色元聯(lián)合起來承擔(dān)的情況。當(dāng)兩個(gè)角色元聯(lián)合時(shí),設(shè)兩者的先后次序不影響它們之間的物流指標(biāo),且相同角色元的組合等同于單個(gè)角色元,這種情況屬于2-可重組合。設(shè)在特定約束下,vi的侯選角色元可以產(chǎn)生cmi(0≤i≤n)種2-可重組合
為無約束時(shí),mi個(gè)侯選角色元2-可重組合,由組合論知識(shí),有, 環(huán)節(jié)vi的侯選角色元的可組合性由組合性能矩陣
(1≤i≤n)表示,有1≤k,l≤mi, 根據(jù)組合性能矩陣
可得到vi的侯選角色元的組合。若同一個(gè)環(huán)節(jié)的任意兩個(gè)侯選角色元之間可以無約束組合,則本發(fā)明考察同一個(gè)環(huán)節(jié)的任意兩個(gè)侯選角色元之間可以無約束組合的情況。
設(shè)特定約束下,vi、vi+1的侯選角色元分別可以產(chǎn)生cmi、cmi+1種2-可重組合,vi的侯選角色元到vi+1的侯選角色元之間的通道情況由通道性能矩陣
(1≤i≤n)表示,有1≤r≤cmi,1≤s≤cmi+1。
設(shè)
中非零元素個(gè)數(shù)為nzp,從vi到vi+1的通道就有nzp條。該條MCC候選角色元可能的組合數(shù)為
侯選角色元最多的組合數(shù)為 分別將候選角色元集合映射為結(jié)點(diǎn)集合CEV,候選角色元的環(huán)節(jié)評(píng)價(jià)指標(biāo)目標(biāo)函數(shù)的函數(shù)值映射為的各結(jié)點(diǎn)權(quán)值,物流指標(biāo)目標(biāo)函數(shù)的函數(shù)值映射為邊的權(quán)值。根據(jù)vi的次序,建立候選伙伴有向圖CEC=(CEV,CEA)。CEV={1,2,…,n}是候選結(jié)點(diǎn)集合,CEA={(i,j)}是邊的集合。D={di}是結(jié)點(diǎn)權(quán)重矩陣,DL={dlij}是邊權(quán)重矩陣。
“MCC伙伴選擇”多目標(biāo)優(yōu)化問題的解是一條符合vi順序的權(quán)值最小的結(jié)點(diǎn)序列。多目標(biāo)意義下的解是一種“折衷解”、“非劣解”。因此,“MCC伙伴選擇”多目標(biāo)優(yōu)化問題數(shù)學(xué)問題可描述為 對(duì)某條MCC,C=(V,A),其中cardV=n。有候選角色元集合CE,cardCE=m。每個(gè)環(huán)節(jié)角色vi(0≤i≤n)的候選角色元有mi(mi≤m)個(gè),設(shè)環(huán)節(jié)vi、vi+1分別有mi、mi+1個(gè)侯選角色元,vi、vi+1的侯選角色元可以產(chǎn)生cmi種2-可重組合,
分別為結(jié)點(diǎn)cmi、cmi+1以及邊cmi-cmi+1的權(quán)值。從vi到vi+1的通道通道性能矩陣為PAi,j+1。假定有一有序結(jié)點(diǎn)解H,若不存在任何其他有序結(jié)點(diǎn)解Q,使得Zr(Q)≤Zr(H),r=1,2,…,n,其中至少有一個(gè)不等式嚴(yán)格成立(Zr為相應(yīng)的目標(biāo)函數(shù)值),則H為一個(gè)非劣解或Pareto解。
“MCC伙伴選擇”多目標(biāo)優(yōu)化問題可以寫成如下形式 其中
分別為各結(jié)點(diǎn)權(quán)值,各邊的權(quán)值。這樣,制造企業(yè)動(dòng)態(tài)聯(lián)盟伙伴選擇優(yōu)化問題即轉(zhuǎn)化為求解在賦權(quán)有向圖CEC=(CEV,CEA)上搜索一條最短路徑的問題。
可以看出,制造企業(yè)動(dòng)態(tài)聯(lián)盟伙伴選擇優(yōu)化問題與TSP問題有類似之處。然而,它具有一些TSP問題所不具有的約束特性 (1)每只螞蟻的搜索中止條件不再是遍歷所有結(jié)點(diǎn),而是到達(dá)結(jié)束結(jié)點(diǎn)。
(2)準(zhǔn)有向性。同一環(huán)節(jié)的侯選角色元結(jié)點(diǎn)可以兩兩任意可重組合,沒有順序性。同時(shí),不同環(huán)節(jié)之間侯選角色元結(jié)點(diǎn)的排布是有向的。即vi的任意兩個(gè)候選結(jié)點(diǎn)之間可以產(chǎn)生可重組合。vi的候選結(jié)點(diǎn)通向vi+1的候選結(jié)點(diǎn),反之不行。
(3)結(jié)點(diǎn)和邊都有權(quán)重。同一環(huán)節(jié)的侯選角色元結(jié)點(diǎn)組合、不同環(huán)節(jié)之間侯選角色元結(jié)點(diǎn)組合時(shí)的權(quán)重計(jì)算方法不同。
因?yàn)镸CC伙伴選擇問題具有這些特點(diǎn),針對(duì)TSP的蟻群算法就不再適合。
本發(fā)明采用小生境蟻群算法(MACO)選擇MCC的合作伙伴。
3、合作伙伴選擇步驟 從盟主角色元的立場(chǎng),合作伙伴選擇的步驟如下 第1步,根據(jù)制造企業(yè)動(dòng)態(tài)聯(lián)盟的具體情況,建立相應(yīng)的MCC。然后根據(jù)各個(gè)環(huán)節(jié)對(duì)資源的需求特點(diǎn),確定每個(gè)環(huán)節(jié)的評(píng)價(jià)指標(biāo)體系以及每個(gè)環(huán)節(jié)的指標(biāo)約束值。
第2步,根據(jù)實(shí)際條件確定環(huán)節(jié)vi的侯選角色元的組合性能矩陣,計(jì)算vi的侯選角色元可以產(chǎn)生的2-可重組合,以及環(huán)節(jié)vi的侯選角色元到vi+1的侯選角色元之間的通道性能矩陣,在此基礎(chǔ)上建立候選伙伴有向圖CEC=(CEV,CEA)。
第3步,利用小生境蟻群算法(MACO)選擇最佳候選角色元組合。
4、應(yīng)用例 某企業(yè)獲得市場(chǎng)機(jī)遇,生產(chǎn)一種注塑模具。該注塑模具的MCC的環(huán)節(jié)有,原材料供應(yīng),標(biāo)準(zhǔn)件供應(yīng),注塑模總體設(shè)計(jì),型腔加工,模具整體裝配等。設(shè)盟主就此市場(chǎng)機(jī)遇招標(biāo)。有46個(gè)候選角色元參與投標(biāo)。根據(jù)實(shí)際情況和以上的分析,可以計(jì)算出候選伙伴可能組合數(shù)目在理論上約為 這里顯然已經(jīng)出現(xiàn)所謂的“組合爆炸”。
分別采用基本蟻群算法,Max-Min Ant System(MMAS),MACO三種算法解算本問題,進(jìn)行比較。使用的計(jì)算機(jī)環(huán)境為pentiumII,64MRAM,Win2k,用MATLAB語言編程。參數(shù)為螞蟻數(shù)antm=25,最大迭代次數(shù)Cyclemax=300,軌跡保持率ρ=0.8,α=1,β=3,Q=10。每種算法各運(yùn)行10次,得到的數(shù)據(jù)如表1。
從表1可以看出,基本蟻群算法在迭代一定次數(shù)后,就陷入局部最優(yōu),難于獲得全局最優(yōu)解。而MMAS和MACO則較容易得到全局最優(yōu)解,二者性能相當(dāng)。在收斂性上,后者略優(yōu)于前者。對(duì)參數(shù)值進(jìn)行變換,進(jìn)行比較,也有類似的結(jié)果。
和基本蟻群算法相比,MMAS和MACO需要設(shè)置的參數(shù)較多。對(duì)MMAS而言,τmax、τmin的設(shè)置對(duì)收斂效果和收斂速度影響很大,對(duì)不同的具體問題,要在計(jì)算中得出經(jīng)驗(yàn),才能有比較好的設(shè)置值。對(duì)MACO而言,參數(shù)的設(shè)置主要遵循對(duì)經(jīng)驗(yàn)信息和啟發(fā)信息的平衡利用,以及適當(dāng)擴(kuò)展解空間的原則。
從上例可以看出,從理論上數(shù)量為8×1011的候選伙伴可能組合中,運(yùn)用MACO能迅速搜索到最優(yōu)組合,這表明了MACO的實(shí)際效果。根據(jù)實(shí)際運(yùn)用效果,本算法對(duì)更大數(shù)目(各環(huán)節(jié)的侯選角色元數(shù)目在100以內(nèi))的伙伴選擇,在效率和效果上均取得較好的結(jié)果。
表1三種蟻群算法比較
權(quán)利要求
1、一種基于蟻群算法的動(dòng)態(tài)聯(lián)盟伙伴選擇方法,其特征在于,包括如下步驟
1)根據(jù)制造企業(yè)動(dòng)態(tài)聯(lián)盟的具體情況,建立相應(yīng)的制造協(xié)同鏈-MCC,然后根據(jù)各個(gè)環(huán)節(jié)對(duì)資源的需求特點(diǎn),確定每個(gè)環(huán)節(jié)的評(píng)價(jià)指標(biāo)體系以及每個(gè)環(huán)節(jié)的指標(biāo)約束值;
2)根據(jù)實(shí)際條件確定環(huán)節(jié)vi的侯選角色元的組合性能矩陣,計(jì)算vi的侯選角色元可以產(chǎn)生的2-可重組合,以及環(huán)節(jié)vi的侯選角色元到vi+1的侯選角色元之間的通道性能矩陣,在此基礎(chǔ)上建立候選伙伴有向圖CEC=(CEV,CEA),CEV={1,2,…,n}是候選結(jié)點(diǎn)集合,CEA={(i,j)}是邊的集合;
3)利用小生境蟻群算法(MACO)選擇最佳候選角色元組合。
2、根據(jù)權(quán)利要求1所述基于蟻群算法的動(dòng)態(tài)聯(lián)盟伙伴選擇方法,其特征在于,所述小生境蟻群算法(MACO)的實(shí)現(xiàn)步驟
1)初始化設(shè)定最大循環(huán)次數(shù)Cyclemax,螞蟻數(shù)m。開始時(shí),所有的m個(gè)螞蟻都集中在起點(diǎn)S。賦予每條邊上相等數(shù)量的信息量τ0=C,C常數(shù);
2)路徑選擇螞蟻k從S點(diǎn)出發(fā),按照選擇策略,從和S相關(guān)聯(lián)的結(jié)點(diǎn)的集合中,選擇一個(gè)結(jié)點(diǎn)a,以及a的一條后繼邊;然后,再從這條邊連接的另一結(jié)點(diǎn)b開始,從和b相關(guān)聯(lián)的邊的集合中,選擇另一條邊。如果螞蟻?zhàn)叩侥辰Y(jié)點(diǎn),該結(jié)點(diǎn)沒有后繼結(jié)點(diǎn),則螞蟻死亡,刪除該螞蟻經(jīng)過路徑的記錄,標(biāo)記此結(jié)點(diǎn)為斷路,下次不再選擇此結(jié)點(diǎn);
以此類推,直到搜索到終點(diǎn)E。于是,螞蟻k得到一個(gè)從S到E的解。螞蟻k搜索完后,其余的螞蟻按照和k相同的方法,搜索出從S到E的其它路徑;
3)局部搜索當(dāng)m只螞蟻搜索完后,求得m個(gè)解,包括重復(fù)的,螞蟻個(gè)體之間交流信息,借助小生境信息差對(duì)路徑“再探索”。小生境信息差是通過對(duì)這m個(gè)解采用遺傳操作,遺傳交叉,遺傳變異,來實(shí)現(xiàn)的,利用遺傳算法,進(jìn)行局部搜索,得到局部最優(yōu)解;
4)更新信息素在每一次搜索周期結(jié)束時(shí),即所有螞蟻到達(dá)目的地時(shí),更新全部路徑的信息素;
5)求全局最優(yōu)解到當(dāng)前迭代次數(shù)為止,所建立的所有局部最優(yōu)解中,最小值的解作為當(dāng)前迭代次數(shù)的全局最優(yōu)解,即最短路徑的距離值。
3、根據(jù)權(quán)利要求1所述基于蟻群算法的動(dòng)態(tài)聯(lián)盟伙伴選擇方法,其特征在于,所述2-可重組合為一個(gè)環(huán)節(jié)角色最多由兩個(gè)角色元聯(lián)合起來承擔(dān)的情況,當(dāng)兩個(gè)角色元聯(lián)合時(shí),設(shè)兩者的先后次序不影響它們之間的物流指標(biāo),且相同角色元的組合等同于單個(gè)角色元。
全文摘要
本發(fā)明涉及一種基于蟻群算法的動(dòng)態(tài)聯(lián)盟伙伴選擇方法,提出“小生境蟻群算法”(MACO)。MACO在利用正反饋的同時(shí),引入時(shí)變參數(shù)來利用經(jīng)驗(yàn)信息和啟發(fā)信息,并在局部尋優(yōu)時(shí)結(jié)合了小生境信息差的思想,從而有效地防止遺傳算法中出現(xiàn)的“早熟”問題和螞蟻算法中發(fā)生的“停滯”狀態(tài)。把制造企業(yè)動(dòng)態(tài)聯(lián)盟建盟過程中合作伙伴的選擇抽象為多目標(biāo)優(yōu)化的問題,并建立了優(yōu)化選擇目標(biāo)函數(shù)。利用MACO解算這個(gè)多目標(biāo)問題,可以獲得最優(yōu)解。從而高效、準(zhǔn)確地尋找動(dòng)態(tài)聯(lián)盟伙伴的最佳組合。
文檔編號(hào)G06Q10/00GK101359382SQ20081020023
公開日2009年2月4日 申請(qǐng)日期2008年9月23日 優(yōu)先權(quán)日2008年9月23日
發(fā)明者屹 甘, 齊從謙, 杜繼濤, 楊麗紅 申請(qǐng)人:上海理工大學(xué)