文/曾東
項目風險管理對可能導致項目損失的不確定因素進行預測、識別、分析、評估和控制?,F(xiàn)代項目管理需要在項目生命周期內(nèi)合理考慮各種風險的影響,并采取合適的風險控制措施,優(yōu)化控制項目成本和工時。
項目風險的抑制措施一方面既能有效降低風險對項目成本和時間的沖擊,同時也將不可避免地需要項目資源的額外開銷;工程項目中每個風險因素的發(fā)生概率、潛在損害、控制方法和控制成本都不一樣。因此采取簡單的執(zhí)行或不執(zhí)行的風險控制策略并不能獲得良好的風險管理。通過在項目風險集合中引入全局可變風險決策向量,并對之進行優(yōu)化,能獲得優(yōu)異的風險控制效果。
項目風險最優(yōu)控制等效為一個非線性MIQP問題的全局優(yōu)化求解,屬于NP-hard類問題,計算復雜度呈指數(shù)關系。在問題規(guī)模較大時,傳統(tǒng)算法求解困難。遺傳算法(Genetic Algorithm)作為一種啟發(fā)式算法,解決各類復雜非線性問題具有很強的優(yōu)勢。本文采用基于混合遺傳算子的遺傳算法來解決項目風險的最優(yōu)控制問題。
圖1:項目、風險和風險控制措施關系圖
子任務、風險和風險控制措施有下述關系:
(1)每個子任務有可能受到若干個風險的影響;
(2)同一個風險因素可能對多個子任務存在潛在的沖擊;
(3)同一個風險控制措施可能同時降低多個風險的損失;
(4)若干風險控制措施可以同時應用來降低同一個風險的損失;
在一個項目中,三者關系如圖1所示。
風險量Ri是風險i發(fā)生的概率ρi和所造成的直接損失li的函數(shù),表示為:
同一個風險能被多個風險控制手段{Mk}聯(lián)合抑制。注意到每種控制手段Mk的應用并不是簡單的執(zhí)行或不執(zhí)行,而是調(diào)整相應的風險策略變量mk來實現(xiàn)最有控制。mk取值與具體控制措施有關,可以是整數(shù)、連續(xù)量或者邏輯量。風險控制量是與mk相關的函數(shù)fRM(mk),對某風險最終的控制效果體現(xiàn)為聯(lián)合降低該風險對項目成本和時間所帶來的沖擊:
上式中的下標c和t分別代表成本和時間,當控制手段mk對風險j有抑制作用時,RM(j,k)=1,否則RM(j,k)=0。通常情況下,對風險的控制效果有一定的約束,如風險的損失可以降低到一個大于零的最低值,即風險控制不能帶來額外收益,要求:
項目計劃在考慮風險威脅和相應的風險控制措施時,子任務Ti的實際成本和執(zhí)行時間將受到影響。分別表示為:
ci為子任務i的無風險時的名義成本,ti是名義執(zhí)行時間。僅當風險j對子任務Ti有影響時,TR(i,j)=1,否則TR(i,j)=0。
因此,項目的總體成本是所有子任務的實際成本與風險控制措施成本的總和:
gk(mk)是mk的成本消耗函數(shù)。公式(7)中,該項目從TS到TE所有可能路徑數(shù)量為P,當子任務Ti屬于第l條路徑時,PATH(l,i)=1,否則PATH(l,i)=0。
因風險及風險控制手段的引入,項目成本和完工時間不再是定值,而受不同的風險因素和控制手段的影響。為了優(yōu)化控制項目的執(zhí)行成本和時間,可采用多目標線性加權(quán)法,構(gòu)成最終的優(yōu)化目標函數(shù):
其中:
(8)式中,需要優(yōu)化的變量是一個風險策略向量,其元素可以是整數(shù)、連續(xù)值或者邏輯量,實際上是一個非線性混合整數(shù)規(guī)劃問題,等效為一個MIQP的最優(yōu)求解,具有NP計算復雜度。需要指出的是,對該JC,T的優(yōu)化應滿足m自身的取值約束條件。
遺傳算法直接對解空間進行搜尋,無需待求解函數(shù)具備連續(xù)性,不需求導,同時具有一定的并行性和可靠的全局尋優(yōu)能力,非常適合解決復雜非線性規(guī)劃問題。
實際工程管理中,風險決策變量有多種類型。例如,商業(yè)保險的決策表現(xiàn)為確定投保金額的多少,取值正實數(shù);為消除人工可能短缺的風險,需要確定新增雇員工的數(shù)量,取值正整數(shù);是否建立新的任務轉(zhuǎn)包關系,為邏輯值(二進制)。傳統(tǒng)遺傳算子采用二進制編碼實現(xiàn)算子的交叉、變異等操作。雖然二進制編碼可以實現(xiàn)對實數(shù)和整數(shù)的精確表示,但在決策變量取值范圍大,精度要求高時,將導致二進制字符串過長,從而降低搜索效率和算法收斂速度。
因此本文采用融合二進制變量和實型變量的混合遺傳算子來提高遺傳算法的收斂性能,其基本操作步驟與傳統(tǒng)遺傳算法一致。此處重點討論風險決策向量的混合遺傳算子設計。
混合遺傳算子的每一染色體分為兩個基因子段,一個基因子段采用二進制編碼,對應風險決策向量中的邏輯變量;另一個基因段對應實型變量和整型變量。此處將整型變量當作實型變量進行運算,中間結(jié)果為實型,計算完成后通過取整恢復為整型數(shù)值,并滿足該變量的取值范圍。
交叉運算按照一定的發(fā)生概率ρm進行。二進制編碼子段的信息交換采取單點交叉法,先隨機確定基因交叉點位置,再互換染色體對上相應交叉點的基因段信息。對于實數(shù)編碼子段的交叉運算,則采用基于概率的隨機線性組合來實現(xiàn)信息互換,交換公式如下:
二進制編碼子段采用位變異操作,先隨機確定要進行變異操作基因位置,然后將該位置變量的數(shù)值取反。實數(shù)編碼子段某變量取值范圍滿足按下式進行變換:
遺傳算法的基因在進化過程中具有一定的隨機性,所產(chǎn)生子代有可能退化。此處采用改進的選擇算子來提高種群的適應度和健壯性,提高算法的收斂速度。算法動態(tài)維護一個包含前K代最優(yōu)個體的記錄。在父代向子代進化時,把記錄中的前K代最優(yōu)個體加入到父代種群中一起進行交叉、變異操作并得到子代種群。然后按照適應度大小更新包含了子代的最優(yōu)個體的前K代最優(yōu)記錄,并按照比例選擇法淘汰部分適應度低的子代個體。這種改進的選擇算子,不僅提高了種群的健壯性和多樣性,能保證進化時子代優(yōu)于父代,而且能使最佳個體參與進化,群體的平均適應值不斷增大,顯著提高遺傳算法的收斂速度。
基于全局可變風險決策向量可以對項目風險實現(xiàn)最優(yōu)控制,待解決問題等效為一個非線性MIQP問題的全局優(yōu)化求解,屬于NPhard類問題,計算復雜度呈指數(shù)關系。在項目規(guī)模較大時,傳統(tǒng)方法難以求解。
本文將遺傳算法引入到風險管理的最優(yōu)控制中,并針對風險控制變量具有多種取值類型,設計了一種混合遺傳算子來提高遺傳算法解決本類問題的收斂性和收斂速度。