亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

一種基于Pareto多目標(biāo)蟻群優(yōu)化算法的軟件項(xiàng)目調(diào)度方法與流程

文檔序號(hào):11831914閱讀:1000來(lái)源:國(guó)知局
一種基于Pareto多目標(biāo)蟻群優(yōu)化算法的軟件項(xiàng)目調(diào)度方法與流程

本發(fā)明涉及軟件項(xiàng)目調(diào)度領(lǐng)域,更具體地,涉及一種基于Pareto多目標(biāo)蟻群優(yōu)化算法的軟件項(xiàng)目調(diào)度方法。



背景技術(shù):

隨著軟件產(chǎn)業(yè)迅速發(fā)展,軟件項(xiàng)目變得越來(lái)越龐大且復(fù)雜,軟件產(chǎn)品開(kāi)發(fā)中爆發(fā)出很多問(wèn)題:不完善的項(xiàng)目管理工作和不嚴(yán)謹(jǐn)?shù)能浖_(kāi)發(fā)過(guò)程控制導(dǎo)致各種軟件質(zhì)量問(wèn)題頻出,此時(shí),軟件項(xiàng)目調(diào)度問(wèn)題變得極其重要且富有挑戰(zhàn)性。

現(xiàn)實(shí)生活中的軟件項(xiàng)目調(diào)度問(wèn)題大多極其復(fù)雜,且難以在多項(xiàng)式時(shí)間內(nèi)進(jìn)行求解,無(wú)法利用確定性的算法進(jìn)行有效求解,現(xiàn)有求解軟件項(xiàng)目調(diào)度多目標(biāo)優(yōu)化問(wèn)題的方法大多利用以下算法:?jiǎn)文繕?biāo)蟻群組合優(yōu)化算法,NSGA-II,SPEA2,PAES等。

單目標(biāo)組合優(yōu)化算法是將多目標(biāo)優(yōu)化問(wèn)題利用數(shù)學(xué)組合策略轉(zhuǎn)化為單個(gè)目標(biāo)函數(shù),再利用單目標(biāo)優(yōu)化算法進(jìn)行求解。此方法只能求解得到一個(gè)組合最優(yōu)解,但該解不一定符合軟件項(xiàng)目管理者的需求,比如項(xiàng)目管理者有時(shí)候需要同時(shí)兼顧開(kāi)發(fā)成本最低和工期最短這兩個(gè)相互沖突的目標(biāo),Pareto解是求解多個(gè)目標(biāo)同時(shí)優(yōu)化問(wèn)題的較合理的決策方案,它是綜合考慮各個(gè)優(yōu)化目標(biāo)的折衷最優(yōu)解。

NSGA-II,SPEA2和PAES這類經(jīng)典的多目標(biāo)進(jìn)化算法采用仿生學(xué)原理,能在一定程度上求解軟件項(xiàng)目調(diào)度多目標(biāo)優(yōu)化問(wèn)題,獲得一組Pareto最優(yōu)解,但這些結(jié)果還不能滿足實(shí)際軟件項(xiàng)目管理的需求。其主要存在以下兩個(gè)問(wèn)題:(1)求解時(shí)間效率較低;(2)決策支持信息不夠。

現(xiàn)有技術(shù)缺點(diǎn):現(xiàn)有的基于經(jīng)典多目標(biāo)進(jìn)化算法或單目標(biāo)組合優(yōu)化蟻群算法的軟件項(xiàng)目調(diào)度方法主要存在求解時(shí)間效率低下,求解結(jié)果不能滿足實(shí)際軟件項(xiàng)目管理者的需求,以及決策支持信息不足的缺陷。決策支持信息不足是指,面對(duì)現(xiàn)有方法求解產(chǎn)生的一組Pareto最優(yōu)解,管理者除了考慮目標(biāo)值屬性外,沒(méi)有其他參考信息,尤其在目標(biāo)值滿足需求的一系列解中難以挑選,且可能挑選的解的穩(wěn)定性很差,存在較大風(fēng)險(xiǎn)。

因此,提出一種解決上述問(wèn)題的基于Pareto多目標(biāo)蟻群優(yōu)化算法的軟件項(xiàng)目調(diào)度方法實(shí)為必要。



技術(shù)實(shí)現(xiàn)要素:

本發(fā)明為克服上述現(xiàn)有技術(shù)所述的至少一種缺陷(不足),提供一種基于Pareto多目標(biāo)蟻群優(yōu)化算法的軟件項(xiàng)目調(diào)度方法。

為解決上述技術(shù)問(wèn)題,本發(fā)明的技術(shù)方案如下:一種基于Pareto多目標(biāo)蟻群優(yōu)化算法的軟件項(xiàng)目調(diào)度方法,包括以下步驟;

S1、將員工對(duì)于任務(wù)的投入度轉(zhuǎn)化為螞蟻的覓食路徑圖;

S2、初始化螞蟻的覓食路徑圖,設(shè)置非占優(yōu)解集和初始值;

S3、根據(jù)每只螞蟻i依據(jù)覓食路徑圖來(lái)構(gòu)造一個(gè)可行解Si,并評(píng)估可行解Si的可行性;

S4、更新非占優(yōu)解集;

S5、如果算法運(yùn)行到一定的迭代次數(shù),就終止循環(huán)并輸出Pareto解集即非占優(yōu)解集(Pareto Set,PS)中的解,否則進(jìn)入上述步驟3。

進(jìn)一步的,所述步驟S1中,包括如下步驟;

S11、產(chǎn)生一個(gè)節(jié)點(diǎn)插入第0列作為開(kāi)始節(jié)點(diǎn);

S12、構(gòu)造j個(gè)節(jié)點(diǎn)作為第一個(gè)員工對(duì)于各個(gè)任務(wù)的候選投入度節(jié)點(diǎn);

S13、構(gòu)造其他員工的投入度節(jié)點(diǎn);

S14、產(chǎn)生一個(gè)節(jié)點(diǎn)插入第E+1列作為終止節(jié)點(diǎn);

S15、產(chǎn)生連接各鄰居列的節(jié)點(diǎn)之間的邊。

更進(jìn)一步的,所述在構(gòu)造一個(gè)解時(shí),螞蟻只能在每列中選擇一個(gè)節(jié)點(diǎn)來(lái)通過(guò),每個(gè)員工對(duì)于各個(gè)任務(wù)有且僅有一個(gè)投入度。

進(jìn)一步的,所述步驟S2中,包括如下步驟;

S21、設(shè)置非占優(yōu)解集PS=Ф;

S22、將信息素的初始值設(shè)為1。

更進(jìn)一步的,所述步驟S3中,包括如下步驟;

S31、構(gòu)造解Si,通過(guò)每只螞蟻i依據(jù)其啟發(fā)式信息、信息素信息以及概率矩陣來(lái)構(gòu)造一個(gè)可行解Si

S32、評(píng)估解Si,計(jì)算可行解Si的項(xiàng)目成本cost和項(xiàng)目工期duration兩個(gè)目標(biāo)值,并評(píng)估解的可行性。

進(jìn)一步的,所述步驟S4中,包括如下步驟;

S41、更新PS,如果非占優(yōu)解集PS中不存在任何解能占優(yōu)解Si,就將可行解Si加入PS中,并從PS中移除所有被可行解Si占優(yōu)的解。

S42、更新信息素矩陣,對(duì)每只螞蟻i來(lái)說(shuō),如果可行解Si在本輪中被加入了PS中,就對(duì)螞蟻i所在群組的信息素信息進(jìn)行更新。

S43、更新子問(wèn)題i的當(dāng)前最優(yōu)解xi,如果當(dāng)前最優(yōu)解xi被該輪中螞蟻i的鄰居產(chǎn)生的最優(yōu)解Sx占優(yōu),則設(shè)置xi=Sx。

與現(xiàn)有技術(shù)相比,本發(fā)明技術(shù)方案的有益效果是:

通過(guò)基于分解的多目標(biāo)蟻群優(yōu)化算法對(duì)軟件項(xiàng)目調(diào)度問(wèn)題進(jìn)行求解,獲得一組Pareto最優(yōu)解,再對(duì)這些解進(jìn)行蒙特卡洛實(shí)驗(yàn),分析其在數(shù)據(jù)參數(shù)“員工最大投入度”不確定或不穩(wěn)定時(shí)的魯棒性,并通過(guò)Pareto前沿面泡泡圖和閾值篩選前沿面圖的可視化為軟件項(xiàng)目管理者提供更多的決策支持信息,以此對(duì)比各個(gè)Pareto解的魯棒性。實(shí)驗(yàn)表明,提出的算法能在經(jīng)典NSGA-II算法的大約一半時(shí)間內(nèi)有效求解軟件項(xiàng)目調(diào)度多目標(biāo)優(yōu)化問(wèn)題,且提出的魯棒性分析方法能為軟件項(xiàng)目管理者提供更豐富的決策支持。

本專利提出的基于Pareto的多目標(biāo)蟻群優(yōu)化算法,能夠在較少的時(shí)間內(nèi)有效地求解軟件項(xiàng)目調(diào)度問(wèn)題,在大部分實(shí)例中獲得比經(jīng)典的NSGA-II算法更優(yōu)的解,且能獲得具有更小的項(xiàng)目開(kāi)發(fā)周期。提出的對(duì)Pareto解的魯棒性分析方法能判斷解的魯棒性和穩(wěn)定性,并將其融入到Pareto前沿面中進(jìn)行可視化展示,給軟件項(xiàng)目管理者提供除了各個(gè)優(yōu)化目標(biāo)值之外的決策支持信息。

附圖說(shuō)明

圖1是本發(fā)明中軟件項(xiàng)目調(diào)度問(wèn)題模型實(shí)例;

圖2是本發(fā)明中蟻群覓食構(gòu)造圖;

圖3是本發(fā)明中Pareto解的魯棒性分析流程圖;

圖4是本發(fā)明中15e_10t_g10獲得的PF圖;

圖5是本發(fā)明中5e_10t_p5獲得的PF圖;

圖6是本發(fā)明中10e_20t_p7獲得的PF圖;

圖7是本發(fā)明中15e_30t_g10獲得的PF圖;

圖8是本發(fā)明中實(shí)例組G1的平均運(yùn)行時(shí)間圖;

圖9是本發(fā)明中實(shí)例組G2的平均運(yùn)行時(shí)間圖;

圖10是本發(fā)明中實(shí)例組G3的平均運(yùn)行時(shí)間圖;

圖11是本發(fā)明中實(shí)例組G4的平均運(yùn)行時(shí)間圖;

圖12是本發(fā)明中實(shí)例5e_10t_p5中24個(gè)POS*的魯棒性指標(biāo)圖;

圖13是本發(fā)明中實(shí)例5e_10t_p5的魯棒性信息的可視化圖;

圖14是本發(fā)明中實(shí)例15e_30t_p7中24個(gè)POS*的魯棒性指標(biāo)圖;

圖15是本發(fā)明中實(shí)例10e_10t_g5中24個(gè)POS*的魯棒性指標(biāo)圖;

圖16是本發(fā)明中魯棒性信息在Pareto前沿面的可視化圖。

具體實(shí)施方式

附圖僅用于示例性說(shuō)明,不能理解為對(duì)本專利的限制;為了更好說(shuō)明本實(shí)施例,附圖某些部件會(huì)有省略、放大或縮小,并不代表實(shí)際產(chǎn)品的尺寸;對(duì)于本領(lǐng)域技術(shù)人員來(lái)說(shuō),附圖中某些公知結(jié)構(gòu)及其說(shuō)明可能省略是可以理解的。

在本發(fā)明的描述中,需要說(shuō)明的是,除非另有明確的規(guī)定和限定,術(shù)語(yǔ)“安裝”、“連接”應(yīng)做廣義理解,例如,可以是固定連接,也可以是可拆卸連接,或一體地連接;可以是機(jī)械連接,也可以是電連接;可以是直接相連,也可以是通過(guò)中間媒介間接連接,可以說(shuō)兩個(gè)元件內(nèi)部的連通。對(duì)于本領(lǐng)域的普通技術(shù)人員而言,可以具體情況理解上述術(shù)語(yǔ)在本發(fā)明的具體含義。下面結(jié)合附圖和實(shí)施例對(duì)本發(fā)明的技術(shù)方案做進(jìn)一步的說(shuō)明。

在本發(fā)明中,文中涉及的英文單詞或英文縮寫(xiě)解釋如下:

Pareto:帕累托,是專業(yè)術(shù)語(yǔ),由一個(gè)數(shù)學(xué)家的名字得來(lái)的。

NSGA-II:英文全稱為Non-dominated Sorting GeneticAlgorithm II,是對(duì)NSGA算法的改進(jìn)版本。NSGA-II中文一般翻譯為:快速非支配排序遺傳算法。

RPS:Reference Pareto Set,中文翻譯為:參考Pareto解集。

POS:Pareto Optimal Solution,中文翻譯為:Pareto優(yōu)化解

RI:Robustness Index,中文翻譯為:魯棒性指標(biāo)

SPEA2:Strength Pareto Evolutionary Algorithm 2(SPEA2),中文翻譯為:改進(jìn)強(qiáng)度的Pareto進(jìn)化算法。

PAES:Pareto Archived Evolution Strategy(PAES),中文翻譯為:Pareto存檔進(jìn)化策略算法

Unit:單元

Duration:工期

Cost:成本

effort:貢獻(xiàn)度

skills:技能

PF:Pareto Front,帕累托前沿面

MOEA/D-ACO:算法全稱為:Multi-Objective Evolutionary Algorithm-Ant Colony Optimization based on Decomposition.

MOEA/D-ACO_MOSPSP:算法全稱為:Multi-Objective Evolutionary Algorithm-Ant Colony Optimization algorithm based on Decomposition for Multi-Objective Software Project Scheduling Problem.中文翻譯為:用于求解軟件項(xiàng)目調(diào)度多目標(biāo)優(yōu)化問(wèn)題的基于分解的多目標(biāo)蟻群算法。

為便于理解本發(fā)明,下面對(duì)各個(gè)附圖進(jìn)行說(shuō)明:

如圖1所示,展示了一個(gè)待求解的軟件項(xiàng)目實(shí)例。相關(guān)資源主要是員工和任務(wù),其中員工具有以下屬性:?jiǎn)T工的職業(yè)技能、工資和最大工作額度等。而每個(gè)任務(wù)又具有一個(gè)必不可少的技能集合(skills)和必需的投入度(effort)。各個(gè)任務(wù)的完成時(shí)間要求滿足任務(wù)序列圖(Task Precedence Graph,TPG)。

實(shí)現(xiàn)基于Pareto的多目標(biāo)蟻群優(yōu)化算法求解軟件項(xiàng)目調(diào)度問(wèn)題的第一步,是將軟件項(xiàng)目調(diào)度中員工對(duì)于任務(wù)的投入度轉(zhuǎn)化為螞蟻的覓食路徑圖。每個(gè)任務(wù)對(duì)應(yīng)的螞蟻覓食圖如圖2所示。其中Unit是一個(gè)員工對(duì)于一個(gè)任務(wù)的最小投入度值,該數(shù)值可手動(dòng)設(shè)置。每個(gè)員工對(duì)于任何任務(wù)的投入度都是Unit的倍數(shù)。

將項(xiàng)目中的一個(gè)任務(wù)劃分為一個(gè)螞蟻覓食圖的處理過(guò)程描述如下:

(1)產(chǎn)生一個(gè)節(jié)點(diǎn)插入第0列作為開(kāi)始節(jié)點(diǎn)。

(2)構(gòu)造j個(gè)節(jié)點(diǎn)作為第一個(gè)員工對(duì)于各個(gè)任務(wù)的候選投入度節(jié)點(diǎn)。

(3)如圖2所示構(gòu)造其他員工的投入度節(jié)點(diǎn)。

(4)產(chǎn)生一個(gè)節(jié)點(diǎn)插入第E+1列作為終止節(jié)點(diǎn)。

(5)產(chǎn)生連接各鄰居列的節(jié)點(diǎn)之間的邊。

蟻群覓食圖構(gòu)造完后,每只螞蟻開(kāi)始在圖上覓食搜索解。螞蟻從開(kāi)始節(jié)點(diǎn)出發(fā),經(jīng)過(guò)有向圖中的第1列、第2列,…,第E列,再到終止節(jié)點(diǎn)。根據(jù)螞蟻選擇的路徑就能求得每個(gè)員工對(duì)于各個(gè)任務(wù)的投入度值。因此,當(dāng)一只螞蟻經(jīng)過(guò)了TPG中所有任務(wù)構(gòu)造的覓食圖中的所有列之后,一個(gè)關(guān)于該軟件項(xiàng)目調(diào)度問(wèn)題的候選解就被構(gòu)造出來(lái)了。

注意,在構(gòu)造一個(gè)解時(shí),螞蟻只能在每列中選擇一個(gè)節(jié)點(diǎn)來(lái)通過(guò),因?yàn)槊總€(gè)員工對(duì)于各個(gè)任務(wù)有且僅有一個(gè)投入度(可能為0)。

在螞蟻進(jìn)行搜索構(gòu)造解時(shí),本專利的方法中采用了以下兩種啟發(fā)式信息策略:

(1)已分配度和員工工資信息(記為H1)。這種啟發(fā)式信息策略是指圖中各條邊的啟發(fā)式信息和該員工在其他任務(wù)中投入的分配度以及該員工的工資相關(guān)。當(dāng)員工的工資越低,且在其他任務(wù)中已有的分配度越低,則啟發(fā)式信息越大。

(2)任務(wù)需求總投入度和員工已分配度(記為H2)。即啟發(fā)式信息由該任務(wù)所需求的總投入度以及員工在其他任務(wù)中已有的分配度決定。當(dāng)任務(wù)所需總投入度越大,且該員工在其他任務(wù)中已有的投入度越低,則啟發(fā)式信息越大。

當(dāng)螞蟻在圖中行走以構(gòu)造解時(shí),圖中各邊上的啟發(fā)式信息對(duì)螞蟻路徑抉擇起到很大影響。如果螞蟻在圖中選擇了以第k列中第l行的節(jié)點(diǎn)為終點(diǎn)的那條邊,那么該員工對(duì)于該任務(wù)的投入度就等于l與Unit的乘積。

利用基于分解的多目標(biāo)蟻群優(yōu)化算法求解軟件項(xiàng)目調(diào)度問(wèn)題的算法被記作MOEA/D-ACO_MOSPSP,該算法的詳細(xì)過(guò)程描述如下:

輸入:

-軟件項(xiàng)目調(diào)度實(shí)例

輸出:

-PS,Pareto解集(Pareto Set),也稱之為非占優(yōu)解集。

步驟1)初始化。

步驟1.1)設(shè)置PS=Ф。

步驟1.2)將信息素的初始值設(shè)為1。

步驟2)構(gòu)造解。

步驟2.1)構(gòu)造解Si。每只螞蟻i依據(jù)其啟發(fā)式信息、信息素信息以及概率矩陣來(lái)構(gòu)造一個(gè)可行解Si。

步驟2.2)評(píng)估解Si。計(jì)算解Si的項(xiàng)目成本cost和項(xiàng)目工期duration兩個(gè)目標(biāo)值,并評(píng)估解的可行性。

步驟3)更新。

步驟3.1)更新PS。如果非占優(yōu)解集PS中不存在任何解能占優(yōu)解Si,就將Si加入PS中,并從PS中移除所有被Si占優(yōu)的解。

步驟3.2)更新信息素矩陣。對(duì)每只螞蟻i來(lái)說(shuō),如果解Si在本輪中被加入了PS中,就對(duì)螞蟻i所在群組的信息素信息進(jìn)行更新。

步驟3.3)更新子問(wèn)題i的當(dāng)前最優(yōu)解xi。如果當(dāng)前最優(yōu)解xi被該輪中螞蟻i的鄰居產(chǎn)生的最優(yōu)解Sx占優(yōu),則設(shè)置xi=Sx。

步驟4)迭代終止。如果滿足了終止條件,就終止循環(huán)并輸出PS中的解。否則進(jìn)入上述步驟3。

1.Pareto解集的魯棒性分析

軟件項(xiàng)目調(diào)度模型將問(wèn)題規(guī)范化、理想化處理建模。軟件項(xiàng)目調(diào)度問(wèn)題的數(shù)據(jù)參數(shù)如表1所示,其假設(shè)所有的這些數(shù)據(jù)參數(shù)都已知,其中員工的最大投入度默認(rèn)全部設(shè)置為1.0。但實(shí)際的員工最大投入度難以精確估計(jì),且會(huì)隨著時(shí)間出現(xiàn)變化。對(duì)前面算法求解得的Pareto非占優(yōu)解集進(jìn)行魯棒性分析,考察其在員工最大投入度參數(shù)不穩(wěn)定時(shí)的魯棒性情況。

基于員工最大投入度這個(gè)不穩(wěn)定性參數(shù),將不穩(wěn)定系數(shù)α設(shè)為5%,對(duì)軟件項(xiàng)目調(diào)度問(wèn)題求解得到的Pareto非占優(yōu)解進(jìn)行魯棒性分析。當(dāng)α=5%時(shí),員工最大投入度樣本取值區(qū)間表示如下:

<mrow> <msubsup> <mi>e</mi> <mi>i</mi> <mrow> <mi>max</mi> <mi>e</mi> <mi>d</mi> </mrow> </msubsup> <mo>&Element;</mo> <mo>&lsqb;</mo> <mn>1.0</mn> <mo>&CenterDot;</mo> <mrow> <mo>(</mo> <mn>1</mn> <mo>-</mo> <mn>5</mn> <mi>%</mi> <mo>)</mo> </mrow> <mo>,</mo> <mn>1.0</mn> <mo>&CenterDot;</mo> <mrow> <mo>(</mo> <mn>1</mn> <mo>+</mo> <mn>5</mn> <mi>%</mi> <mo>)</mo> </mrow> <mo>&rsqb;</mo> </mrow>

以軟件項(xiàng)目調(diào)度多目標(biāo)優(yōu)化問(wèn)題中的“員工最大投入度”這個(gè)不確定的數(shù)據(jù)參數(shù)作為切入點(diǎn),通過(guò)蒙特卡洛模擬實(shí)驗(yàn)對(duì)算法的求解結(jié)果進(jìn)行魯棒性分析,以提供除了兩個(gè)優(yōu)化目標(biāo)值(即項(xiàng)目成本和開(kāi)發(fā)周期)之外的魯棒性信息供決策者參考。軟件項(xiàng)目管理者在決策時(shí)可綜合考慮優(yōu)化目標(biāo)函數(shù)值和Pareto解的魯棒性信息,從而獲取不僅具有較優(yōu)目標(biāo)值,且在小范圍變化時(shí)目標(biāo)函數(shù)值魯棒性較高的解。由此可知,該方案能從一定程度上降低整個(gè)軟件項(xiàng)目調(diào)度多目標(biāo)優(yōu)化問(wèn)題的風(fēng)險(xiǎn)。

具體實(shí)現(xiàn)流程圖如圖3所示。

在本發(fā)明中,數(shù)據(jù)集的選擇,選擇了網(wǎng)上公開(kāi)的測(cè)試數(shù)據(jù)集。此數(shù)據(jù)集共有36個(gè)軟件項(xiàng)目調(diào)度的測(cè)試數(shù)據(jù)實(shí)例。這36個(gè)實(shí)例是西班牙學(xué)者Alba等人根據(jù)實(shí)際軟件項(xiàng)目情況開(kāi)發(fā)的隨機(jī)生成器產(chǎn)生的。有員工和任務(wù)兩個(gè)主體,各組實(shí)例中的員工數(shù)量分別為5、10或15,任務(wù)數(shù)量則為10、20或30。這些數(shù)據(jù)集可以分為4組,每組包含9個(gè)具有不同員工或任務(wù)的軟件項(xiàng)目測(cè)試實(shí)例。在前兩組中,總的技能數(shù)是未定義的。而在后兩組中的測(cè)試實(shí)例則具有固定的總技能數(shù):5或10。把第一組(G1)中的實(shí)例表示為Ee_Tt_p5,如實(shí)例5e_10t_p5表示有5個(gè)員工,10個(gè)任務(wù),且員工具備的技能數(shù)是4或5。同樣,第二組(G2)中的實(shí)例Ee_Tt_p7是技能數(shù)為6或7的。在后兩組(G3和G4)中的實(shí)例被表示為Ee_Tt_gS,如10e_20t_g10表示有10個(gè)員工,20個(gè)任務(wù),且總共有10種技能。在36組測(cè)試數(shù)據(jù)集中,所有員工的最大工作投入度值默認(rèn)為1.0,代表所有員工都能完全投入到該項(xiàng)目的工作中。具體數(shù)據(jù)集的情況如下表所示。

一、方法的選擇

對(duì)比前人提出的經(jīng)典算法NSGA-II,從算法求解獲得的Pareto最優(yōu)面和運(yùn)行時(shí)間兩方面進(jìn)行比較。

二、Pareto最優(yōu)解比較

選擇了最具代表性的實(shí)驗(yàn)結(jié)果來(lái)展示算法的特性。RPF參照面(Reference Pareto Front,RPF)是由所有該部分實(shí)驗(yàn)中的最優(yōu)結(jié)果組成的。

圖4中,MOEA/D-ACO_H1和MOEA/D-ACO_H2分別代表使用啟發(fā)式信息H1和H2的基于分解的多目標(biāo)蟻群算法MOEA/D-ACO_MOSPSP。可以觀察到在實(shí)例15e_10t_10g中MOEA/D-ACO_H2算法的解都比NSGA-II的解更優(yōu)。且MOEA/D-ACO_MOSPSP算法還在求解10e_30t_g5,10e_10t_10g和15e_20t_g10這些實(shí)例時(shí)表現(xiàn)更優(yōu)于NSGA-II。

圖5說(shuō)明MOEA/D-ACO_MOSPSP算法在解決實(shí)例5e_10t_p5時(shí)獲得的解大部分比NSGA-II的解更優(yōu),且有獲得具有更小的開(kāi)發(fā)持續(xù)時(shí)間目標(biāo)值的解的趨勢(shì)。在其他12個(gè)實(shí)例中也發(fā)現(xiàn)了同樣的結(jié)果,這些實(shí)例為:10e_10t_p5,10e_20t_p5,15e_10t_p5,15e_30t_p5,10e_10t_p7,15e_10t_p7,15e_30t_p7,10e_10t_g5,15e_10t_g5,15e_20t_g5,15e_30t_g5和5e_10t_g10。

但是,在測(cè)試實(shí)例10e_20t_p7中NSGA-II的結(jié)果要優(yōu)于當(dāng)前設(shè)置的MOEA/D-ACO_MOSPSP算法,具體結(jié)果如圖6所示。且類似的結(jié)果也出現(xiàn)在以下10個(gè)實(shí)例中:5e_20t_p5,10e_30t_p5,15e_20t_p5,5e_10t_p7,5e_20t_p7,10e_30t_p7,5e_10t_g5,5e_20t_g5,5e_30t_5和10e_20t_g5。

另外,當(dāng)軟件項(xiàng)目問(wèn)題相當(dāng)復(fù)雜時(shí),MOEA/D-ACO_MOSPSP算法和NSGA-II都只能得到少量的解。圖7表明在復(fù)雜實(shí)例15e_30t_g10中兩個(gè)算法所獲得的Pareto解都不多,其中MOEA/D-ACO_MOSPSP算法能獲得比NSGA-II算法更優(yōu)的解。且在實(shí)例5e_20t_g10,10e_20t_g10,10e_30t_g10和5e_30t_p5中也有同類的情況。

算法運(yùn)行時(shí)間比較

從其結(jié)果圖8至圖11中可以看到MOEA/D-ACO_MOSPSP算法比NSGA-II花費(fèi)大約少一半的運(yùn)行時(shí)間。圖中所有的時(shí)間是各算法運(yùn)行10次后取的平均值。

魯棒性分析結(jié)果的可視化

從36組測(cè)試數(shù)據(jù)中抽取3組代表性的數(shù)據(jù)進(jìn)行實(shí)驗(yàn),其分別為實(shí)例5e_10t_p5,15e_30t_p7和10e_10t_g5。

軟件項(xiàng)目調(diào)度問(wèn)題實(shí)例5e_10t_p5經(jīng)過(guò)1000次迭代后產(chǎn)生了1000個(gè)Pareto非占優(yōu)解集合,共64000個(gè)POS解。從RPF中選取24個(gè)具代表性的參考解POS*(去除了比較相近的解),這24個(gè)POS*的魯棒性分析結(jié)果統(tǒng)計(jì)如圖12所示。圖中各個(gè)解的魯棒性指標(biāo)參差不齊,說(shuō)明了非占優(yōu)解集中各個(gè)解的不穩(wěn)定性。

Pareto前沿面的魯棒性信息的可視化如圖13所示。其中圖(a)以泡泡圖的方式展示了24個(gè)POS*的魯棒性,圓的直徑越大代表魯棒性越強(qiáng)。通過(guò)圖(a)可以較清晰的看出哪些解的魯棒性更強(qiáng),哪些解的魯棒性很弱。如在實(shí)例5e_10t_p5中,接近Duration值最大的區(qū)域的解魯棒性很弱,而Duration取值較小的解的魯棒性強(qiáng)。另外,如果決策者想采取Duration<20且Cost<780000的解決方案,從圖中可以看出在這區(qū)間類的解有9個(gè),而其中Duration值最小的那個(gè)解的魯棒性最強(qiáng)。

圖13(b)則篩選出了魯棒性指標(biāo)大于40%的解,是一種少干擾信息的可視化形式,在特定場(chǎng)景也很實(shí)用。對(duì)于實(shí)例5e_10t_p5,其24個(gè)POS*中只有6個(gè)解滿足RI>40%。此時(shí),決策者可以較容易地在滿足魯棒性指標(biāo)要求的解中選取自己期望目標(biāo)值的可行解。

實(shí)例15e_30t_p7和10e_10t_g5的魯棒性指標(biāo)圖分別如圖14和圖15所示,對(duì)應(yīng)的帶魯棒性泡泡圖如圖16(a)和圖16(b)所示。

通過(guò)以上實(shí)驗(yàn)結(jié)果展示和分析,可以看出軟件項(xiàng)目調(diào)度多目標(biāo)優(yōu)化問(wèn)題的魯棒性分析對(duì)項(xiàng)目決策者很有價(jià)值。嵌入魯棒性信息的Pareto前沿面可視化圖在表達(dá)各個(gè)解的目標(biāo)函數(shù)值的同時(shí),還能清晰地表達(dá)解的魯棒性信息,便于決策者綜合后作決定,從而獲得更好的解決方法。

圖中,描述位置關(guān)系僅用于示例性說(shuō)明,不能理解為對(duì)本專利的限制;顯然,本發(fā)明的上述實(shí)施例僅僅是為清楚地說(shuō)明本發(fā)明所作的舉例,而并非是對(duì)本發(fā)明的實(shí)施方式的限定。對(duì)于所屬領(lǐng)域的普通技術(shù)人員來(lái)說(shuō),在上述說(shuō)明的基礎(chǔ)上還可以做出其它不同形式的變化或變動(dòng)。這里無(wú)需也無(wú)法對(duì)所有的實(shí)施方式予以窮舉。凡在本發(fā)明的精神和原則之內(nèi)所作的任何修改、等同替換和改進(jìn)等,均應(yīng)包含在本發(fā)明權(quán)利要求的保護(hù)范圍之內(nèi)。

當(dāng)前第1頁(yè)1 2 3 
網(wǎng)友詢問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1