本發(fā)明涉及解決帶約束的多目標優(yōu)化的問題,并應用于云工作流調(diào)度技術(shù)領(lǐng)域,特別是指一種帶約束云工作流調(diào)度的自適應多目標進化方法。
背景技術(shù):
云環(huán)境下的工作流調(diào)度(簡稱:云工作流調(diào)度)是尋找合適的云資源來執(zhí)行工作流任務,并滿足用戶的服務質(zhì)量需求。云工作流調(diào)度問題是一個帶約束的多目標優(yōu)化問題,多目標進化算法能有效處理此類問題。但現(xiàn)有技術(shù)中,大多是簡單地利用靜態(tài)的懲罰函數(shù)來處理約束條件,這樣容易導致早熟收斂,甚至進入不可行的搜索空間,例如:
現(xiàn)有技術(shù)一,通過利用帕累托(Pareto)熵信息和Pareto差熵信息來評估多目標粒子群算法中種群的多樣性以及進化狀態(tài),并且以此為反饋信息來設(shè)計進化策略,使得算法具有更好的收斂性和多樣性。
現(xiàn)有技術(shù)二,在NSGA-II算法的基礎(chǔ)上進行了改進,通過離散化整個Pareto最優(yōu)前沿,找到一些良好分布的參考點,在算法的進化過程中以這些點為搜索方向,找到與提供的參考點集相關(guān)聯(lián)的Pareto最優(yōu)解或Pareto最優(yōu)解附近的解,使得到的解集具有更優(yōu)的收斂性和多樣性。
現(xiàn)有技術(shù)一和現(xiàn)有技術(shù)二,雖然可以使算法得到的非支配解集具有更好的收斂性和多樣性,但其針對的是無約束的多目標優(yōu)化問題。對于云環(huán)境下的工作流調(diào)度問題是一個帶約束的多目標優(yōu)化問題,在處理此類問題時,常用的方法是基于多目標進化算法,使用靜態(tài)的懲罰函數(shù)將帶約束優(yōu)化問題轉(zhuǎn)化為無約束優(yōu)化問題,懲罰函數(shù)如果太小,一些非可行解的適應度值將高于大部分可行解,種群很有可能會朝一個非可行的搜索空間進化;但懲罰函數(shù)如果太大,許多更優(yōu)的個體將會被排除,從而導致早熟收斂,綜上,現(xiàn)有的多目標進化算法在使用靜態(tài)懲罰函數(shù)處理約束條件時容易陷入局部最優(yōu)。
技術(shù)實現(xiàn)要素:
本發(fā)明要解決的技術(shù)問題是提供一種帶約束云工作流調(diào)度的自適應多目標進化方法,以解決現(xiàn)有技術(shù)所存在的多目標進化算法在使用靜態(tài)懲罰函數(shù)處理約束條件時容易陷入局部最優(yōu)的問題。
為解決上述技術(shù)問題,本發(fā)明實施例提供一種帶約束云工作流調(diào)度的自適應多目標進化方法,包括:
S1、根據(jù)Pareto解的個數(shù)和Pareto熵檢測種群在進化過程中所處的進化狀態(tài),根據(jù)檢測到的種群在進化過程中所處的進化狀態(tài),自適應地利用相應的個體評估策略處理約束條件,并對種群中的個體進行排序,其中,在個體評估策略中,采用約束違反處理方法來處理約束條件;
S2、根據(jù)個體排序結(jié)果,從種群中選擇個體進行遺傳操作,得到子種群,其中,在進行遺傳操作時,根據(jù)種群在進化過程中所處的進化狀態(tài)自適應地調(diào)節(jié)進化參數(shù)。
進一步地,所述根據(jù)Pareto解的個數(shù)和Pareto熵檢測種群在進化過程中所處的進化狀態(tài)包括:
若種群中沒有Pareto解,則種群在進化過程中所處的進化狀態(tài)為初始狀態(tài)。
進一步地,所述根據(jù)Pareto解的個數(shù)和Pareto熵檢測種群在進化過程中所處的進化狀態(tài)包括:
若種群中Pareto解的個數(shù)小于種群大小,則種群在進化過程中所處的進化狀態(tài)為收斂狀態(tài);或,
若種群中Pareto解的個數(shù)等于種群大小,且種群在t+1次迭代中,Pareto解的個數(shù)發(fā)生了變化,則種群在進化過程中所處的進化狀態(tài)為收斂狀態(tài);或,
若種群中Pareto解的個數(shù)等于種群大小,種群在t+1次迭代中,Pareto解的個數(shù)沒有發(fā)生變化,且則種群在進化過程中所處的進化狀態(tài)為收斂狀態(tài);
其中,△Entropy(t+1)表示第t+1次迭代和第t次迭代的差熵,M表示優(yōu)化目標的個數(shù),△Entropymax-diver表示最大差熵值。
進一步地,所述根據(jù)Pareto解的個數(shù)和Pareto熵檢測種群在進化過程中所處的進化狀態(tài)包括:
若種群中Pareto解的個數(shù)等于種群大小,種群在t+1次迭代中,Pareto解的個數(shù)沒有發(fā)生變化,且則種群在進化過程中所處的進化狀態(tài)為多樣化狀態(tài);或,
若種群中Pareto解的個數(shù)等于種群大小,種群在t+1次迭代中,Pareto解的個數(shù)沒有發(fā)生變化,Pareto熵也沒變化,則種群在進化過程中所處的進化狀態(tài)為成熟狀態(tài);
其中,△Entropy(t+1)表示第t+1次迭代和第t次迭代的差熵,M表示優(yōu)化目標的個數(shù),△Entropymax-diver表示最大差熵值。
進一步地,所述△Entropymax-diver表示為:
其中,Entropymax表示Pareto解為最佳分布時的Pareto熵,Entropymin表示Pareto解為最差分布時的Pareto熵,M表示優(yōu)化目標的個數(shù),K表示每一維優(yōu)化目標下的網(wǎng)格分區(qū),Cellk,m(t)表示第t次迭代中的個體數(shù)量,是被映射到PCCS中的整數(shù)標號,表示第k個Pareto解的第m個格坐標分量,表示第k個Pareto解對應的第m個優(yōu)化目標的值,l表示Entropymin情況下只有一個個體的那個格子的坐標。
進一步地,所述根據(jù)檢測到的種群在進化過程中所處的進化狀態(tài),自適應地選擇相應的個體評估策略處理約束條件,并對種群中的個人進行排序,包括:
若檢測到種群在進化過程中所處的進化狀態(tài)為初始狀態(tài),則根據(jù)第一適應度函數(shù)評估種群的個體適應度值,其中,所述第一適應度函數(shù)表示為:
按照個體適應度值的大小對種群中的個體進行排序;
其中,F(xiàn)a(xi)表示個體i的適應度值,xi代表個體i,a表示Fa(xi)是加了懲罰函數(shù)后的適應度值,是歸一化的約束違反。
進一步地,所述根據(jù)檢測到的種群在進化過程中所處的進化狀態(tài),自適應地選擇相應的個體評估策略處理約束條件,并對種群中的個人進行排序,包括:
若檢測到種群在進化過程中所處的進化狀態(tài)為收斂狀態(tài),則根據(jù)第二適應度函數(shù)評估種群的個體適應度值,其中,所述第二適應度函數(shù)表示為:
按照個體適應度值的大小對種群中的個體進行排序;
其中,表示個體i的第k個目標的適應度值,xi代表個體i,a表示是加了懲罰函數(shù)后的適應度值,表示個體i的第k個目標的歸一化后的適應度值,表示歸一化的約束違反,rf表示可行比率。
進一步地,所述根據(jù)檢測到的種群在進化過程中所處的進化狀態(tài),自適應地利用相應的個體評估策略,對種群中的個體進行排序包括:
若檢測到種群在進化過程中所處的進化狀態(tài)為多樣化狀態(tài)或成熟狀態(tài),則基于約束的支配排序原則對種群中的個體進行排序。
進一步地,所述進化參數(shù)包括:交叉概率和變異概率;
所述在進行遺傳操作時,根據(jù)種群在進化過程中所處的進化狀態(tài)自適應地調(diào)節(jié)進化參數(shù)包括:
在進行遺傳操作時,對遺傳操作中的交叉概率和變異概率進行自適應的調(diào)整,其中,第t次迭代的交叉概率pc(t)的調(diào)整規(guī)則表示為:
第t次迭代的變異概率pm(t)的調(diào)整規(guī)則表示為:
其中,<·>表示一個保持pc(t)和pm(t)處于給定的邊界之中的函數(shù),當pc(t)和pm(t)低于下邊界,將下邊界值賦予給它們,當pc(t)和pm(t)高于上邊界,將上邊界值賦予給它們,pc(t-1)表示第t-1次迭代的交叉概率,pm(t-1)表示第t-1次迭代的變異概率,△np(t)表示在第t次迭代中Pareto個體數(shù)的變化數(shù),△Entropy(t-1)表示第t-1次迭代和第t-2次迭代的差熵,ci和mj表示調(diào)整步長,i,j=1,2,3,4。
本發(fā)明的上述技術(shù)方案的有益效果如下:
上述方案中,根據(jù)Pareto解的個數(shù)和Pareto熵檢測種群在進化過程中所處的進化狀態(tài),根據(jù)檢測到的種群在進化過程中所處的進化狀態(tài),自適應地利用相應的個體評估策略處理約束條件,并對種群中的個體進行排序,其中,在個體評估策略中,采用約束違反處理方法來處理約束條件,能有效的處理約束條件;根據(jù)個體排序結(jié)果,從種群中選擇個體進行遺傳操作,得到子種群,其中,在進行遺傳操作時,根據(jù)種群在進化過程中所處的進化狀態(tài)自適應地調(diào)節(jié)進化參數(shù),使多目標進化方法具有很好的收斂性和多樣性,在解決云工作流調(diào)度的優(yōu)化問題時具有較優(yōu)的性能,使得在約束條件下也能具有較優(yōu)的全局探測和局部開采能力。
附圖說明
圖1為本發(fā)明實施例提供的帶約束云工作流調(diào)度的自適應多目標進化方法的流程示意圖;
圖2為本發(fā)明實施例提供的帶約束云工作流調(diào)度的自適應多目標進化方法的詳細流程示意圖;
圖3表示Epigenomics工作流在時限1約束條件下總執(zhí)行成本TEC和不平衡度DI的均衡解;
圖4表示Epigenomics工作流在時限2約束條件下總執(zhí)行成本TEC和不平衡度DI的均衡解;
圖5表示Epigenomics工作流在時限3約束條件下總執(zhí)行成本TEC和不平衡度DI的均衡解;
圖6表示Epigenomics工作流在時限4約束條件下總執(zhí)行成本TEC和不平衡度DI的均衡解;
圖7表示Inspiral工作流在時限1約束條件下總執(zhí)行成本TEC和不平衡度DI的均衡解;
圖8表示Inspiral工作流在時限2約束條件下總執(zhí)行成本TEC和不平衡度DI的均衡解;
圖9表示Inspiral工作流在時限3約束條件下總執(zhí)行成本TEC和不平衡度DI的均衡解;
圖10表示Inspiral工作流在時限4約束條件下總執(zhí)行成本TEC和不平衡度DI的均衡解。
具體實施方式
為使本發(fā)明要解決的技術(shù)問題、技術(shù)方案和優(yōu)點更加清楚,下面將結(jié)合附圖及具體實施例進行詳細描述。
本發(fā)明針對現(xiàn)有的多目標進化算法在使用靜態(tài)懲罰函數(shù)處理約束條件時容易陷入局部最優(yōu)的問題,提供一種帶約束云工作流調(diào)度的自適應多目標進化方法。
如圖1所示,本發(fā)明實施例提供的帶約束云工作流調(diào)度的自適應多目標進化方法,包括:
S1、根據(jù)Pareto解的個數(shù)和Pareto熵檢測種群在進化過程中所處的進化狀態(tài),根據(jù)檢測到的種群在進化過程中所處的進化狀態(tài),自適應地利用相應的個體評估策略處理約束條件,并對種群中的個體進行排序,其中,在個體評估策略中,采用約束違反處理方法來處理約束條件;
S2、根據(jù)個體排序結(jié)果,從種群中選擇個體進行遺傳操作,得到子種群,其中,在進行遺傳操作時,根據(jù)種群在進化過程中所處的進化狀態(tài)自適應地調(diào)節(jié)進化參數(shù)。
本發(fā)明實施例所述的帶約束云工作流調(diào)度的自適應多目標進化方法,根據(jù)Pareto解的個數(shù)和Pareto熵檢測種群在進化過程中所處的進化狀態(tài),根據(jù)檢測到的種群在進化過程中所處的進化狀態(tài),自適應地利用相應的個體評估策略處理約束條件,并對種群中的個體進行排序,其中,在個體評估策略中,采用約束違反處理方法來處理約束條件,能有效的處理約束條件;根據(jù)個體排序結(jié)果,從種群中選擇個體進行遺傳操作,得到子種群,其中,在進行遺傳操作時,根據(jù)種群在進化過程中所處的進化狀態(tài)自適應地調(diào)節(jié)進化參數(shù),使多目標進化方法具有很好的收斂性和多樣性,在解決云工作流調(diào)度的優(yōu)化問題時具有較優(yōu)的性能,使得在約束條件下也能具有較優(yōu)的全局探測和局部開采能力。
本發(fā)明實施例提供的帶約束云工作流調(diào)度的自適應多目標進化方法可以稱為基于Pareto熵的帶有自適應個體評估策略的NSGA-II算法(Pareto Entropy based on NSGA-II with adaptive individual-assessment scheme,ai-NSGA-II-PE),ai-NSGA-II-PE以非支配排序的多目標優(yōu)化算法(Non-dominated Sorting Genetic Algorithm-II,NSGA-II)為基礎(chǔ),如圖2所示,本發(fā)明實施例提供的帶約束云工作流調(diào)度的自適應多目標進化方法具體可以包括:
S201,初始化種群,包括迭代次數(shù),種群規(guī)模等;
S202,根據(jù)Pareto解的個數(shù)和Pareto熵檢測種群在進化過程中所處的進化狀態(tài),根據(jù)檢測到的種群在進化過程中所處的進化狀態(tài),自適應地利用相應的個體評估策略處理約束條件,并對種群中的個體進行排序;其中,所述根據(jù)Pareto解的個數(shù)和Pareto熵檢測種群在NSGA-II進化過程中所處的進化狀態(tài)包括:
(1)若種群中沒有Pareto解,則定義種群在進化過程中所處的進化狀態(tài)為初始狀態(tài);
(2)如下3種情況,定義種群在進化過程中所處的進化狀態(tài)為收斂狀態(tài):
a、種群中Pareto解的個數(shù)小于種群大小;
b、種群中Pareto解的個數(shù)等于種群大小,但種群在t+1次迭代中,Pareto解的個數(shù)發(fā)生了變化;
c、種群中Pareto解的個數(shù)等于種群大小,種群在t+1次迭代中,Pareto解的個數(shù)沒有發(fā)生變化,且其中,△Entropy(t+1)表示第t+1次迭代和第t次迭代的差熵,M表示優(yōu)化目標的個數(shù),△Entropymax-diver表示最大差熵值。
本實施例中,為了更好地理解Pareto熵、差熵、最大差熵值△Entropymax-diver,對Pareto熵、差熵、最大差熵值△Entropymax-diver進行詳細說明:
本實施例中,可以借助平行格坐標系統(tǒng)(Parallel Cell Coordinate System,PCCS)來描述Pareto熵及其差熵。M為優(yōu)化目標的個數(shù),每一維優(yōu)化目標下的網(wǎng)格分區(qū)為K,表示第k個Pareto解對應的第m個優(yōu)化目標的值,按照式(1)映射到一個具有K×M個格子的二維平面網(wǎng)格,是被映射到PCCS中的整數(shù)標號,表示第k個Pareto解的第m個格坐標分量。每一個笛卡爾坐標系中的解的坐標分量都可以被映射到二維平面網(wǎng)格中的某一個格子中。
令其中為向上取整函數(shù),即返回一個不小于x的最小整數(shù),和分別是對于當前Pareto解集合中的第m個目標的最大值和最小值,如果將設(shè)置為1。
本實施例中,第t次迭代的Pareto熵Entropy(t)可以表示為:
其中,Cellk,m(t)表示中的個體數(shù)量,第t次和t-1次迭代的差熵△Entropy(t)可以表示為:
△Entropy(t)=Entropy(t)-Entropy(t-1)
最大差熵值△Entropymax-diver指的是一種極端情況下熵的差值,即在多樣化狀態(tài)時,新解與舊解處于同一支配等級,但具有更好的擁擠度時,舊解會被替換,使和顯著變化,導致解從最佳分布(即PCCS中每個目標的坐標向量都占據(jù)一個格子)變?yōu)樽畈罘植?即PCCS中每個目標的坐標向量有K-1個擠在一個格子里,剩下的占據(jù)在另一個),此時的Pareto熵的變化值(△Entropymax-diver)可以表示為:
其中,Entropymax表示Pareto解為最佳分布時的Pareto熵,Entropymin表示Pareto解為最差分布時的Pareto熵,M表示優(yōu)化目標的個數(shù),K表示每一維優(yōu)化目標下的網(wǎng)格分區(qū),Cellk,m(t)表示第t次迭代中的個體數(shù)量,是被映射到PCCS中的整數(shù)標號,表示第k個Pareto解的第m個格坐標分量,表示第k個Pareto解對應的第m個優(yōu)化目標的值,l表示Entropymin情況下只有一個個體的那個格子的坐標。
(3)若種群中Pareto解的個數(shù)等于種群大小,種群在t+1次迭代中,Pareto解的個數(shù)沒有發(fā)生變化,且則定義種群在進化過程中所處的進化狀態(tài)為多樣化狀態(tài);
(4)若種群中Pareto解的個數(shù)等于種群大小,種群在t+1次迭代中,Pareto解的個數(shù)沒有發(fā)生變化,Pareto熵也沒變化,則定義種群在進化過程中所處的進化狀態(tài)為成熟狀態(tài)。
本實施例中,接著,根據(jù)檢測到的種群在進化過程中所處的進化狀態(tài),自適應地利用相應的個體評估策略處理約束條件,并對種群中的個體進行排序。在自適應個體評估環(huán)節(jié),主要通過兩個方面來判斷一個個體的好壞,一個是它在目標函數(shù)得到的目標值,另一個是在約束條件下得到的約束目標值是否超過所定約束。
本實施例中,在不同的進化狀態(tài)采用不同的個體評估策略來評估個體,對個體進行排序,在個體評估策略中,采用約束違反處理方法來處理約束條件根據(jù)種群在進化過程中所處的不同的進化狀態(tài),可以采用不同的約束違反處理方法來有效的處理約束條件,使更優(yōu)的可行個體保留下來;具體的:
(1)若檢測到種群在進化過程中所處的進化狀態(tài)為初始狀態(tài),則根據(jù)第一適應度函數(shù)評估種群的個體適應度值,其中,所述第一適應度函數(shù)表示為:
按照個體適應度值的大小對種群中的個體進行排序;
其中,F(xiàn)a(xi)表示個體i的適應度值,xi代表個體i,a表示Fa(xi)是加了懲罰函數(shù)后的適應度值,是歸一化的約束違反,即將約束目標值(約束目標值是在約束條件下得到的)超過所定約束的那部分進行歸一化,然后根據(jù)歸一化的約束違反來給個體排序,使得保留下來擁有小的約束違反的個體。
(2)若檢測到種群在進化過程中所處的進化狀態(tài)為收斂狀態(tài),即種群中至少有一個可行解(可行解也可以稱為可行個體)之后,則根據(jù)第二適應度函數(shù)評估種群的個體適應度值,其中,所述第二適應度函數(shù)表示為:
按照個體適應度值的大小對種群中的個體進行排序;
其中,表示個體i的第k個目標的適應度值,xi代表個體i,a表示是加了懲罰函數(shù)后的適應度值,表示個體i的第k個目標的歸一化后的適應度值,表示歸一化的約束違反,rf表示可行比率,rf為可行個體數(shù)量與種群規(guī)模的比值。
(3)若檢測到種群在進化過程中所處的進化狀態(tài)為多樣化狀態(tài)或成熟狀態(tài),本實施例采用另一種個體評估策略來排序個體,按照定義1,基于約束的支配排序原則如下,使得種群搜索擁有更好擁擠度的可行個體,并防止非可行解進入種群:
定義1:如果以下任何一個條件為真,則說明個體S1比個體S2優(yōu)秀:
(1)如果S1是可行解而S2是非可行解;
(2)S1、S2都是非可行解,S1有更小的約束違反;
(3)S1、S2都是可行解,S1比S2有更高的非支配等級;或,當S1和S2都有相同的支配等級,S1比S2有更優(yōu)秀的擁擠度,通過非支配等級對個體進行排序,其中,非支配等級排序和擁擠度計算與NSGA-II算法中所采用的類似;
非支配等級排序是指:如果某個個體i的一個或者多個優(yōu)化目標值均優(yōu)于另外一個個體j,而其他優(yōu)化目標值相等,那么個體i支配個體j。根據(jù)支配關(guān)系給個體分配非支配等級,等級高的個體支配等級低的個體,如果個體m不能被任何個體所支配,即所得到的解最優(yōu),則稱個體m為Pareto最優(yōu)解或非支配解。
擁擠度,用于對處于相同非支配等級的個體進行排序,其基本思想是根據(jù)所有個體的優(yōu)化目標值來計算與個體相鄰的兩個個體的歐式空間距離。
S203,根據(jù)個體排序結(jié)果,從種群中選擇個體進行遺傳操作,得到子種群。擁有排序更高的個體具有更大的概率被選入子群體中。
本實施例中,是在不同的進化狀態(tài)采用不同的個體評估策略來選擇個體進行遺傳操作。
根據(jù)種群在進化過程中所處的進化狀態(tài)進行相應的遺傳操作時,種群根據(jù)其所處的進化狀態(tài)自適應地進行進化參數(shù)的調(diào)整,即對遺傳操作中的交叉概率和變異概率進行自適應的調(diào)整,從而提高全局探測和局部開采能力。
本實施例中,遺傳操作中的交叉概率和變異概率,可以根據(jù)種群在進化過程中所處的進化狀態(tài)、Pareto解的個數(shù)以及Pareto熵來自適應調(diào)整,其中,第t次迭代的交叉概率pc(t)的調(diào)整規(guī)則表示為:
第t次迭代的變異概率pm(t)的調(diào)整規(guī)則表示為:
其中,<·>表示一個保持pc(t)和pm(t)處于給定的邊界之中的函數(shù),當pc(t)和pm(t)低于下邊界,將下邊界值賦予給它們,當pc(t)和pm(t)高于上邊界,將上邊界值賦予給它們,pc(t-1)表示第t-1次迭代的交叉概率,pm(t-1)表示第t-1次迭代的變異概率,△np(t)表示在第t次迭代中Pareto個體數(shù)的變化數(shù),△Entropy(t-1)表示第t-1次迭代和第t-2次迭代的差熵,ci和mj表示調(diào)整步長,i,j=1,2,3,4;其中,ci和mj表示為:
其中,gmax表示為最大迭代次數(shù)。
S204,根據(jù)父種群和子種群在進化過程中所處的進化狀態(tài),自適應計算父種群和子種群的個體適應度值,具體步驟同S202。
S205,根據(jù)父種群和子種群的個體適應度值,確定父種群和子種群的個體排序。
本實施例中,按照個體適應度值從小到大對父種群和子種群的個體進行排序,其中,排序時,父種群和子種群是放在一起操作的。
S206,從排序后的父種群和子種群中,選擇前N個個體作為新種群,計算新種群的Pareto熵和檢測種群狀態(tài),返回執(zhí)行S202,新種群參與下一次迭代,直至迭代次數(shù)等于預設(shè)的最大迭代次數(shù),其中,N的取值根據(jù)實際情況確定。
本實施例中,從排序后的父種群和子種群中,選擇前N個個體作為新種群。排序時,父種群和子種群是放在一起操作的,選個體也是選兩個種群(父種群和子種群)的前N個個體。
在計算敏感的云計算環(huán)境下,為解決其工作流調(diào)度問題,建立如下模型:
優(yōu)化目標(Minimize)為最小化總執(zhí)行成本(Total Execution Cost,TEC)和不平衡度(Degree of Imbalance,DI),約束條件(Subject to)為總執(zhí)行時間(Total Execution Time,TET)小于時限dw,表示為
Minimize:TEC
DI
Subject to:TET≤dw
其中,|VM|表示虛擬機的個數(shù),表示執(zhí)行任務i的虛擬機,是虛擬機單位時間成本,是執(zhí)行任務i的實際運行時間,ti表示任務i,τ是虛擬機單位處理能力,表示任務i和任務j之間的傳輸時間,下標ei,j表示任務i和任務j是相連的,是的數(shù)據(jù)轉(zhuǎn)換成本,i∈T,j∈T中的T指所有的任務下標,Tmax和Tmin分別表示所有虛擬機的最大運行時間和最小運行時間,Tavg是虛擬機的平均運行時間,,V是任務集合,表示任務i的結(jié)束時間。
本實施例中,執(zhí)行任務i的實際運行時間表示為:
其中,為任務i的大小,是的處理能力。
本實施例中,任務i和任務j之間的傳輸時間表示為:
其中,和分別表示虛擬機VMi和VMj之間數(shù)據(jù)傳輸?shù)膸?,下標ei,j表示任務i和任務j是相連的,是由任務i產(chǎn)生的輸出數(shù)據(jù)大小,如果任務i和任務j在同一虛擬機執(zhí)行,則傳輸時間為0;
本實施例中,任務i的開始時間表示為:
其中,是租用終止時間,指執(zhí)行任務i的虛擬機,ta表示任務a,parent(ti)表示任務i的所有母任務,表示任務a的結(jié)束時間,表示任務a和任務i之間的傳輸時間,下標ea,i表示任務a和任務i是相連的。
本實施例中,任務i的結(jié)束時間表示為:
其中,表示任務i的開始時間,表示執(zhí)行任務i的實際運行時間。
本實施例中,在進行測試時定義了4個時限值,這些時限值處于最快和最慢運行時間之間,最快運行時間由異構(gòu)計算環(huán)境最早時間完成算法(Heterogeneous Earliest Finish Time,HEFT)調(diào)度工作流所獲得,最慢運行時間由一個虛擬機執(zhí)行所有的任務所獲得,時限隨著編號的增加逐漸變得嚴格。
本實施例采用了Epigenomics和Inspiral兩種工作流進行了測試,其中,Epigenomics工作流是一種高度流水線的應用程序,其中多個線并行地對獨立的數(shù)據(jù)塊進行操作;Inspiral由幾個子工作流組成。測試結(jié)果如圖3、圖4、圖5、圖6、圖7、圖8、圖9、圖10所示。
實施方式一
本實施例中,分別設(shè)置時限值為時限1,時限2,時限3,時限4,選取科學工作流模型Epigenomics,將ai-NSGA-II-PE與基于Pareto熵的NSGA-II算法(ParetoEntropy based on NSGA-II,NSGA-II-PE)(NSGA-II-PE采用本發(fā)明所提出的自適應調(diào)整進化參數(shù),但使用傳統(tǒng)靜態(tài)懲罰函數(shù)處理約束條件)、NSGA-II、基于分解的多目標進化算法(Multi-Objective Evolutionary Algorithm based on Decomposition,MOEA/D)、強度Pareto進化算法(Strength Pareto Evolutionary Algorithm 2,SPEA2)、多目標粒子群優(yōu)化算法(Multi-Objective Particle Swarm Optimization,MOPSO)分別進行比較;仿真結(jié)果如圖3、圖4、圖5、圖6,由圖3、圖4、圖5、圖6可見,相比于其他算法,ai-NSGA-II-PE在嚴格的約束條件下能找到全局探測和局部開采效果更優(yōu)的Pareto前沿。
實施方式二
本實施例中,分別設(shè)置時限值為時限1,時限2,時限3,時限4,選取科學工作流模型Inspiral,將ai-NSGA-II-PE與NSGA-II-PE(采用本發(fā)明所提出的自適應調(diào)整進化參數(shù),但使用傳統(tǒng)靜態(tài)懲罰函數(shù)處理約束條件)、NSGA-II、MOEA/D、SPEA2、MOPSO進化算法分別進行比較;仿真結(jié)果如圖7、圖8、圖9、圖10,由圖7、圖8、圖9、圖10可見,相比于其他算法,ai-NSGA-II-PE在嚴格的約束條件下能找到全局探測和局部開采效果更優(yōu)的Pareto前沿。
以上所述是本發(fā)明的優(yōu)選實施方式,應當指出,對于本技術(shù)領(lǐng)域的普通技術(shù)人員來說,在不脫離本發(fā)明所述原理的前提下,還可以作出若干改進和潤飾,這些改進和潤飾也應視為本發(fā)明的保護范圍。