本發(fā)明涉及動態(tài)演化領域,特別是涉及一種基于改進遺傳算法的云服務系統(tǒng)動態(tài)演化方法。
背景技術:
隨著軟件技術的不斷發(fā)展,云計算逐漸成為主流的應用環(huán)境。云計算環(huán)境下,服務已成為核心概念,呈現(xiàn)出一切皆服務的趨勢。云服務系統(tǒng)將成為軟件的主流應用形式。然而,云計算環(huán)境的動態(tài)性、開放性和復雜性,以及用戶需求的頻繁變化,要求云服務系統(tǒng)應不斷動態(tài)演化。沒有一個云服務系統(tǒng)可以一直都能滿足用戶要求,不停運行下去。為了適應開放的云計算環(huán)境,云服務系統(tǒng)的各個云服務需要進行相應的演化。由于具有持續(xù)可用性的特點,云服務系統(tǒng)動態(tài)演化已成為的當前的研究熱點。
云環(huán)境的復雜性決定了云服務群體數(shù)量較大,在進行云服務系統(tǒng)動態(tài)演化時,傳統(tǒng)優(yōu)化方法是從單個初始值迭代求最優(yōu)解,容易誤入局部最優(yōu)解,無法快速高效地完成全局擇優(yōu)演化。
技術實現(xiàn)要素:
本發(fā)明的目的是提供一種基于改進遺傳算法的云服務系統(tǒng)動態(tài)演化方法,所述動態(tài)演化方法能夠快速高效地完成云服務系統(tǒng)的全局擇優(yōu)演化。
為實現(xiàn)上述目的,本發(fā)明提供了如下方案:
一種基于改進遺傳算法的云服務系統(tǒng)動態(tài)演化方法,所述動態(tài)演化方法包括:
對云服務系統(tǒng)中的云服務進行動態(tài)演化編碼,定義組成所述云服務系統(tǒng)的云服務為:
Si={ni,pi,fi,fdi,fei,Ii,Idi,odi,idi,noi,Ci,Ni(0,1)},
其中,i表示云服務序號,Si表示第i個云服務,ni、pi、fi、fdi、fei、Ii、Idi、odi、idi、noi、Ci和Ni(0,1)為第i個云服務的編碼分量,ni表示第i個云服務對應的名稱,pi表示第i個云服務的參數(shù),所述參數(shù)為所述第i個云服務的內(nèi)部元素,pi=(ei1,ei2,...,eiM),其中M為第i個云服務的內(nèi)部元素的個數(shù),eik為在第i個云服務內(nèi),第k個內(nèi)部元素所依賴的除第k個內(nèi)部元素之外的內(nèi)部元素的個數(shù),fi表示第i個云服務的功能數(shù),fdi表示第i個云服務的有缺陷的功能數(shù),fei表示第i個云服務的依賴環(huán)境的功能數(shù),Ii表示第i個云服務的接口數(shù);Idi表示第i個云服務的有缺陷的接口數(shù),odi表示第i個云服務的出耦合度,idi表示第i個云服務的入耦合度,noi表示第i個云服務的失效次數(shù),Ci表示第i個云服務所屬的類,Ni(0,1)表示第i個云服務對應的隨機數(shù),所述隨機數(shù)的取值區(qū)間為(0,1);
對所述云服務系統(tǒng)進行初始化,隨機生成所述云服務系統(tǒng)中第i類云服務的初始云服務種群;
構建適應度函數(shù),計算所述第i類初始云服務種群中各個體的適應度值;
對所述第i類初始云服務種群進行初次篩選確定候選云服務;
比較所述第i類所有候選云服務的適應度值與第一設定閾值的大小,從中選擇出大于或等于第一設定閾值的適應度值對應的第i類候選云服務作為目標云服務,如果第i類云服務的目標云服務超過一個,則采用概率選擇方法選擇一個作為最終的第i類目標云服務;如果第i類云服務的所有候選云服務的適應度值均小于第一設定閾值,則對所有候選云服務進行交叉操作和變異操作以更新第i類候選云服務;
根據(jù)全部各類云服務的最終目標云服務生成目標云服務系統(tǒng)。
可選的,所述隨機生成所述云服務系統(tǒng)中第i類初始云服務種群,具體包括:
采用公式cijk=|(cijkmax-cijkmin)×Nij(0,1)+cijkmin|計算各所述第i類云服務種群中第j個個體的每個分量的初始值,其中,||為取整函數(shù),cijk表示第i類云服務種群中第j個個體的第k個分量初始值,cijkmax表示第i類云服務種群中第j個個體的第k個分量在取值范圍內(nèi)的最大值,cijkmin表示第i類云服務種群中第j個個體的第k個分量在取值范圍內(nèi)的最小值;所述隨機生成的第i類初始云服務種群的大小可根據(jù)需要給定。
可選的,所述構建適應度函數(shù),具體包括:構建適應度函數(shù)fij(Q)=w1i*f1ij(FC)+w2i*f2ij(FD)+w3i*f3ij(IC)+w4i*f4ij(CP)+w5i*f5ij(CH)+w6i*f6ij(EC)計算第i類云服務種群中第j個個體的適應度,其中,wri表示第i類云服務的各質量指標的權值,r=1,…,6,f1ij(FC)為第i類云服務種群中第j個個體的功能正確性函數(shù),f2ij(FD)為第i類云服務種群中第j個個體的功能獨立性函數(shù),f3ij(IC)為第i類云服務種群中第j個個體的接口正確性函數(shù),f4ij(CP)為第i類云服務種群中第j個個體的耦合性函數(shù),f5ij(CH)為第i類云服務種群中第j個個體的內(nèi)聚性函數(shù),f6ij(EC)為第i類云服務種群中第j個個體的演化兼容性函數(shù)。
可選的,所述第i類云服務種群中第j個個體的功能正確性函數(shù)f1ij(FC)為:
f1ij(FC)=1-fdij/fij,
其中,fdij為在第i類云服務種群中第j個個體的功能中,檢測出有缺陷的功能數(shù),fij為第i類云服務種群中第j個個體的功能總數(shù);
所述第i類云服務種群中第j個個體的功能獨立性函數(shù)f2ij(FD)為:
f2ij(FD)=1-feij/fij,
其中,feij為第i類云服務種群中第j個個體中檢測出依賴環(huán)境的功能數(shù);
所述第i類云服務種群中第j個個體的接口正確性函數(shù)f3ij(IC)為:
f3ij(IC)=1-Idij/Iij,
其中,Idij為在第i類云服務種群中第j個個體的接口中,檢測出有缺陷的接口數(shù),Iij為第i類云服務種群中第j個個體的接口總數(shù);
所述第i類云服務種群中第j個個體的耦合性函數(shù)f4ij(CP)為:
f4ij(CP)=odij/(odij+idij),
其中,odij為第i類云服務種群中第j個個體的出耦合度,idij為第i類云服務種群中第j個個體的入耦合度;
所述第i類云服務種群中第j個個體的內(nèi)聚性函數(shù)f5ij(CH)為:
其中,M為第i類云服務種群中第j個個體內(nèi)部元素的個數(shù),eijk為第i類云服務種群中第j個個體的第k個元素所依賴的其他元素個數(shù);
所述第i類云服務種群中第j個個體的演化兼容性函數(shù)f6ij(EC)為:
f6ij(EC)=1/(noij+1),
其中,noij為第i類云服務種群中第j個個體的新版本替換舊版本時,發(fā)生失效的次數(shù)。
可選的,所述對各所述第i類云服務的初始云服務種群進行初次篩選確定候選云服務包括:
比較各所述第i類云服務初始種群中各云服務個體對應的適應度值與第二設定閾值的大小,從中選擇出大于第二設定閾值的適應度值對應的所述初始云服務個體作為第i類候選云服務;如果沒有大于第二設定閾值的適應度值對應的所述第i類初始云服務個體,則對第i類云服務重新進行初始化,生成第i類云服務的初始云服務種群;
可選的,所述變異操作包括:首先通過一個隨機數(shù)產(chǎn)生變異的次數(shù),然后每次通過變異算子進行隨機變異,所述變異算子包括增加功能到所述云服務,從所述云服務中去除功能,從所述云服務中修復功能,修改所述云服務中依賴環(huán)境的功能數(shù),引進接口到所述云服務,從所述云服務中去除接口,從所述云服務中修復接口,修改所述云服務的出耦合度,修改所述云服務的入耦合度,修改所述云服務的參數(shù),修改所述云服務的失效次數(shù)。
可選的,所述交叉操作包括:首先通過一個隨機數(shù)產(chǎn)生交叉的次數(shù),然后每次隨機選擇所述云服務的一個所述編碼分量為交叉點,交換所述云服務的編碼分量。
可選的,所述概率選擇方法包括:每類云服務的各個目標云服務個體被選擇的概率和其適應度值成比例,設第i類云服務的目標云服務個體的個數(shù)為k,其中目標云服務個體Sij的適應度值為fij,則目標云服務個體Sij被選擇作為最終目標云服務的概率為:
其中,f表示適應度值,j表示序號,fij表示第i類云服務的第j個目標云服務個體的適應度值。
根據(jù)本發(fā)明提供的具體實施例,本發(fā)明公開了以下技術效果:本發(fā)明將遺傳算法中的選擇操作、交叉操作和變異操作引入云服務系統(tǒng)動態(tài)演化方法中,由于交叉操作和變異操作的遷移規(guī)則是隨機的,保證了所述動態(tài)演化方法能夠在全局范圍內(nèi)擇優(yōu)。同時,與一般的隨機搜索方法所進行的無向搜索不同,通過兩次選擇操作可以從大量種群個體中進行快速優(yōu)化選擇,使云服務一代又一代地優(yōu)化演化,并快速逼進最優(yōu)云服務,從而保證云服務系統(tǒng)動態(tài)演化時,能夠快速高效地完成對大量云服務個體的全局擇優(yōu)。
附圖說明
為了更清楚地說明本發(fā)明實施例或現(xiàn)有技術中的技術方案,下面將對實施例中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實施例,對于本領域普通技術人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
圖1為本發(fā)明實施例云服務系統(tǒng)的動態(tài)演化方法的流程圖;
圖2為本發(fā)明實施例交叉操作前的云服務編碼圖;
圖3為本發(fā)明實施例交叉操作后的云服務編碼圖;
圖4為本發(fā)明實施例旅行路線制定云服務系統(tǒng)結構圖。
具體實施方式
下面將結合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術方案進行清楚、完整地描述,顯然,所描述的實施例僅僅是本發(fā)明一部分實施例,而不是全部的實施例?;诒景l(fā)明中的實施例,本領域普通技術人員在沒有做出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都屬于本發(fā)明保護的范圍。
本發(fā)明的目的是提供一種基于改進遺傳算法的云服務系統(tǒng)的動態(tài)演化方法,以快速高效地完成云服務系統(tǒng)的全局擇優(yōu)演化。
為使本發(fā)明的上述目的、特征和優(yōu)點能夠更加明顯易懂,下面結合附圖和具體實施方式對本發(fā)明作進一步詳細的說明。
圖1為本發(fā)明實施例云服務系統(tǒng)的動態(tài)演化方法的流程圖,如圖1所示,云服務系統(tǒng)的動態(tài)演化方法步驟如下:
步驟100:確定云服務系統(tǒng)中云服務的種類數(shù)n;
步驟101:對n類云服務進行編碼,定義組成所述云服務系統(tǒng)的云服務為:
Si={ni,pi,fi,fdi,fei,Ii,Idi,odi,idi,noi,Ci,Ni(0,1)},
其中,i表示云服務序號,Si表示第i個云服務,ni、pi、fi、fdi、fei、Ii、Idi、odi、idi、noi、Ci和Ni(0,1)為第i個云服務的編碼分量,ni表示第i個云服務對應的名稱,pi表示第i個云服務的參數(shù),所述參數(shù)為所述第i個云服務的內(nèi)部元素,pi=(ei1,ei2,...,eiM),其中M為第i個云服務的內(nèi)部元素的個數(shù),eik為在第i個云服務內(nèi),第k個內(nèi)部元素所依賴的除第k個內(nèi)部元素之外的內(nèi)部元素的個數(shù),fi表示第i個云服務的功能數(shù),fdi表示第i個云服務的有缺陷的功能數(shù),fei表示第i個云服務的依賴環(huán)境的功能數(shù),Ii表示第i個云服務的接口數(shù);Idi表示第i個云服務的有缺陷的接口數(shù),odi表示第i個云服務的出耦合度,idi表示第i個云服務的入耦合度,noi表示第i個云服務的失效次數(shù),Ci表示第i個云服務所屬的類,Ni(0,1)表示第i個云服務對應的隨機數(shù),所述隨機數(shù)的取值區(qū)間為(0,1)。
表1云服務系統(tǒng)的編碼
步驟102:對所述云服務系統(tǒng)進行初始化,隨機生成所述云服務系統(tǒng)中第i類云服務的初始云服務種群,i=1,…,n,所述云服務種群包含多個該類云服務個體;
步驟103:構建適應度函數(shù),計算第i類云服務種群中各個體云服務的適應度值,i=1,…,n;
比較各所述第i類云服務初始種群中各云服務個體對應的適應度值與第二設定閾值的大小,從中選擇出大于第二設定閾值的適應度值對應的所述初始云服務個體作為第i類候選云服務;如果沒有大于第二設定閾值的適應度值對應的所述第i類初始云服務個體,則對第i類云服務重新進行初始化,生成第i類云服務的初始云服務種群,具體為步驟104到步驟108.
步驟104:判斷第i類云服務種群中各云服務個體對應的適應度值是否大于第二設定閾值;
步驟105:如果第i類云服務種群中的云服務個體對應的適應度值小于或等于第二設定閾值,則放棄該云服務個體;
步驟106:如果第i類云服務種群的云服務個體對應的適應度值大于第二預設值,則保留該云服務個體;
步驟107:如果第i類云服務種群中沒有剩余云服務個體,則重新初始化生成第i類云服務種群,所述剩余云服務個體為保留下來的云服務個體;
步驟108:如果第i類云服務種群中有剩余云服務個體,則將所述剩余云服務個體作為候選云服務,所述剩余云服務個體為保留下來的云服務個體;
步驟109:判斷第i類云服務種群中各候選云服務的適應度值是否大于等于第一設定閾值;
步驟110:如果第i類云服務種群中所有候選云服務的適應度值均小于第一設定閾值,則對所有候選云服務做交叉操作和變異操作,以更新第i類候選云服務;
步驟111:如果第i類云服務種群中存在候選云服務的適應度值大于等于第一設定閾值,則將該候選云服務作為目標云服務,選出第i類云服務種群中所有候選云服務中的目標云服務;
步驟112:判斷第i類云服務種群中的目標云服務是否唯一;
步驟113:如果第i類云服務種群中的目標云服務不唯一,則采用概率選擇方法選擇一個作為最終的第i類目標云服務;
步驟114:根據(jù)全部各類云服務的最終目標云服務生成目標云服務系統(tǒng)。
其中,步驟102中,對所述云服務系統(tǒng)進行初始化,隨機生成各所述云服務系統(tǒng)中第i類云服務的初始云服務種群,具體包括:
采用公式cijk=|(cijkmax-cijkmin)×Nij(0,1)+cijkmin|計算各所述第i類云服務種群中第j個個體的每個分量的初始值,其中,||為取整函數(shù),cijk表示第i類云服務種群中第j個個體的第k個分量初始值,cijkmax表示第i類云服務種群中第j個個體的第k個分量在取值范圍內(nèi)的最大值,cijkmin表示第i類云服務種群中第j個個體的第k個分量在取值范圍內(nèi)的最小值;所述隨機生成的第i類初始云服務種群的大小可根據(jù)需要給定。
步驟103構建適應度函數(shù),具體包括:
構建適應度函數(shù)fij(Q)=w1i*f1ij(FC)+w2i*f2ij(FD)+w3i*f3ij(IC)+w4i*f4ij(CP)+w5i*f5ij(CH)+w6i*f6ij(EC)計算第i類云服務種群中第j個個體的適應度,其中,wri表示第i類云服務的各質量指標的權值,r=1,…,6,f1ij(FC)為第i類云服務種群中第j個個體的功能正確性函數(shù),f2ij(FD)為第i類云服務種群中第j個個體的功能獨立性函數(shù),f3ij(IC)為第i類云服務種群中第j個個體的接口正確性函數(shù),f4ij(CP)為第i類云服務種群中第j個個體的耦合性函數(shù),f5ij(CH)為第i類云服務種群中第j個個體的內(nèi)聚性函數(shù),f6ij(EC)為第i類云服務種群中第j個個體的演化兼容性函數(shù)。
所述第i類云服務種群中第j個個體的功能正確性函數(shù)f1ij(FC)為:
f1ij(FC)=1-fdij/fij,
其中,fdij為在第i類云服務種群中第j個個體的功能中,檢測出有缺陷的功能數(shù),fij為第i類云服務種群中第j個個體的功能總數(shù);
所述第i類云服務種群中第j個個體的功能獨立性函數(shù)f2ij(FD)為:
f2ij(FD)=1-feij/fij,
其中,feij為第i類云服務種群中第j個個體中檢測出依賴環(huán)境的功能數(shù);
所述第i類云服務種群中第j個個體的接口正確性函數(shù)f3ij(IC)為:
f3ij(IC)=1-Idij/Iij,
其中,Idij為在第i類云服務種群中第j個個體的接口中,檢測出有缺陷的接口數(shù),Iij為第i類云服務種群中第j個個體的接口總數(shù);
所述第i類云服務種群中第j個個體的耦合性函數(shù)f4ij(CP)為:
f4ij(CP)=odij/(odij+idij),
其中,odij為第i類云服務種群中第j個個體的出耦合度,idij為第i類云服務種群中第j個個體的入耦合度;
所述第i類云服務種群中第j個個體的內(nèi)聚性函數(shù)f5ij(CH)為:
其中,M為第i類云服務種群中第j個個體內(nèi)部元素的個數(shù),eijk為第i類云服務種群中第j個個體的第k個元素所依賴的其他元素個數(shù);
所述第i類云服務種群中第j個個體的演化兼容性函數(shù)f6ij(EC)為:
f6ij(EC)=1/(noij+1),
其中,noij為第i類云服務種群中第j個個體的新版本替換舊版本時,發(fā)生失效的次數(shù)。
步驟110中的所述變異操作包括:首先通過一個隨機數(shù)產(chǎn)生變異的次數(shù),然后每次通過變異算子進行隨機變異,所述變異算子包括增加功能到所述云服務,從所述云服務中去除功能,從所述云服務中修復功能,修改所述云服務中依賴環(huán)境的功能數(shù),引進接口到所述云服務,從所述云服務中去除接口,從所述云服務中修復接口,修改所述云服務的出耦合度,修改所述云服務的入耦合度,修改所述云服務的參數(shù),修改所述云服務的失效次數(shù)。
步驟110中的所述交叉操作包括:首先通過一個隨機數(shù)產(chǎn)生交叉的次數(shù),然后每次隨機選擇所述云服務的一個所述編碼分量為交叉點,交換所述云服務的編碼分量。
具體地,通過步驟108、111和113對各云服務個體進行兩次選擇操作。
選擇操作的目的是為了對大量云服務個體進行快速擇優(yōu)篩選。通過步驟108進行第一次選擇操作,從每類云服務種群的大量個體進行初次篩選,選出適應度值大于第二設定閾值的云服務個體作為該類云服務的候選云服務;通過步驟111和113進行第二次選擇操作,首先從每類候選云服務中選出適應度值大于或等于第一設定閾值的云服務個體作為該類云服務的目標云服務,如果目標云服務不唯一,則在該類云服務的所有目標云服務中通過概率選擇方法選出唯一的云服務作為該類云服務的最終目標云服務,如果該類云服務的所有候選云服務的適應度值均小于第一設定閾值,則對所有候選云服務進行變異操作和交叉操作以進行下一代遺傳。所述每類云服務的最終目標云服務作為最優(yōu)云服務組成最優(yōu)云服務系統(tǒng),即目標云服務系統(tǒng)。在所述概率選擇方法中,每類云服務的各個目標云服務個體被選擇的概率和其適應度值成比例,設第i類云服務的目標云服務個體的個數(shù)為k,其中目標云服務個體Sij的適應度值為fij,則目標云服務個體Sij被選擇作為最終目標云服務的概率為:
其中,f表示適應度值,j表示序號,fij表示第i類云服務的第j個目標云服務個體的適應度值。
具體地,步驟110中的變異算子是指對云服務系統(tǒng)中的一個現(xiàn)有云服務進行某些改變操作,從而形成一個新的云服務,以達到增加或改變特性的目的。本實施例定義的變異算子如下:
增加一個功能Fk到云服務Si;
從云服務Si中去除功能Fi;
修復云服務Si中有缺陷的功能Fj;
引進一個接口Ik到云服務Si;
從云服務Si中去除接口Ii;
修復云服務Si中有缺陷的接口Ij;
修改云服務Si的出耦合度;
修改云服務Si的入耦合度;
修改云服務Si的參數(shù);
修改云服務Si的失效次數(shù)。
步驟110的交叉操作是通過交換云服務中的某些元素來實現(xiàn)的,交叉操作的目的是為了結合兩個云服務中的最優(yōu)特性。例如,假設交叉操作前云服務個體G1和G2的編碼如圖2所示,若分別選擇云服務的有缺陷的功能數(shù)以及有缺陷的接口數(shù)為交叉點,則兩次交叉操作后得到的云服務個體分別為G1′和G2′,經(jīng)過兩次交叉操作后云服務個體G1′和G2′的編碼如圖3所示。
云服務系統(tǒng)演化的遺傳操作包括選擇操作、變異操作和交叉操作。本實施例設定的云服務演化終止條件為:當各類云服務種群均選出唯一一個適應度值大于或等于第一閾值的最終云服務個體(即最優(yōu)云服務個體)時,遺傳算法終止。
作為本發(fā)明的具體實施例,圖4為本發(fā)明實施例旅行路線制定云服務系統(tǒng)結構圖,如圖4所示,一個旅行路線制定云服務系統(tǒng)包括五類云服務,分別是旅行規(guī)劃服務S1,預定飛機火車票服務S2,預定餐飲服務S3,預定酒店服務S4和旅游服務S5。
下面進行旅行路線制定云服務系統(tǒng)的動態(tài)演化,具體步驟如下:
1)對旅行路線制定云服務系統(tǒng)的云服務進行編碼,如表2所示為旅行路線制定云服務系統(tǒng)的云服務編碼。
表2旅行路線制定云服務系統(tǒng)的編碼
2)對所述云服務系統(tǒng)進行初始化,隨機生成所述云服務系統(tǒng)中各類云服務的初始種群。
假設每類云服務初始化種群的大小均為10,它們的個體云服務隨機生成后的具體參數(shù)數(shù)據(jù)如下表3所示:
表3初始各類云服務種群的質量指標
3)構建適度函數(shù),利用適度函數(shù)分別計算五類云服務種群中各云服務個體的適度值;適度函數(shù)為fij(Q)=w1i*f1ij(FC)+w2i*f2ij(FD)+w3i*f3ij(IC)+w4i*f4ij(CP)+w5i*f5ij(CH)+w6i*f6ij(EC)。
下面以旅行規(guī)劃服務為例進行說明:
以旅行規(guī)劃服務中的一個個體S11為例,計算個體S11的6個質量指標的取值:
f111(FC)=1-fd11/f11=1-2/5=0.6,
f211(FD)=1-fe11/f11=1-1/5=0.8,
f311(IC)=1-Id11/I11=1-1/5=0.8,
f411(CP)=od11/(od11+id11)=2/(2+1)=2/3,
f611(EC)=1/(no11+1)=1/(2+1)=1/3,
根據(jù)適度值計算公式計算個體的適度值:f11(Q)=0.2*0.6+0.15*0.8+0.2*0.8+0.15*2/3+0.15*0.5+0.15*1/3=0.625,采用同樣的計算方法分別計算出旅游規(guī)劃服務中其他9個個體的適度值。
4)判斷旅行規(guī)劃服務種群中10個云服務個體的適度值是否大于第二設定閾值,如果小于或等于第二設定閾值,則放棄該云服務個體;如果大于第二設定閾值,則判斷該云服務種群中是否有剩余云服務個體,如果沒有剩余云服務個體,則重新初始化生成該類云服務種群;如果有剩余云服務個體,則將剩余云服務個體作為候選云服務。
5)判斷旅行規(guī)劃服務中的各候選云服務的適應度值是否大于等于第一設定閾值,如果旅行規(guī)劃服務種群中所有候選云服務的適應度值均小于第一設定閾值,則對所有候選云服務做交叉操作和變異操作,以更新旅行規(guī)劃服務的候選云服務;如果旅行規(guī)劃服務種群中存在適應度值大于等于第一設定閾值的候選云服務,則將此候選云服務作為目標云服務,選出旅行規(guī)劃服務種群中所有候選云服務中的目標云服務。
6)判斷旅行規(guī)劃服務種群中的目標云服務是否唯一,如果旅行規(guī)劃服務種群中的目標云服務不唯一,則采用概率選擇方法選擇一個作為最終的該類的目標云服務。
通過以上步驟得到了云服務中旅行規(guī)劃服務的目標云服務。與上述步驟相同,可以得到其它四類云服務的目標云服務,根據(jù)五類云服務的最終目標云服務生成目標云服務系統(tǒng)。
本發(fā)明通過的基于改進遺傳算法的云服務系統(tǒng)動態(tài)演化方法將遺傳算法中的選擇操作、交叉操作和變異操作引入云服務系統(tǒng)動態(tài)演化方法中,由于交叉操作和變異操作的遷移規(guī)則是隨機的,保證了所述動態(tài)演化方法能夠在全局范圍內(nèi)擇優(yōu)。同時,與一般的隨機搜索方法所進行的無向搜索不同,通過兩次選擇操作可以從大量種群個體中進行快速優(yōu)化選擇,使云服務一代又一代地優(yōu)化演化,并快速逼進最優(yōu)云服務,從而保證云服務系統(tǒng)動態(tài)演化時,能夠快速高效地完成對大量云服務個體的全局擇優(yōu)。
本說明書中各個實施例采用遞進的方式描述,每個實施例重點說明的都是與其他實施例的不同之處,各個實施例之間相同相似部分互相參見即可。
本文中應用了具體個例對本發(fā)明的原理及實施方式進行了闡述,以上實施例的說明只是用于幫助理解本發(fā)明的方法及其核心思想;同時,對于本領域的一般技術人員,依據(jù)本發(fā)明的思想,在具體實施方式及應用范圍上均會有改變之處。綜上所述,本說明書內(nèi)容不應理解為對本發(fā)明的限制。