亚洲狠狠干,亚洲国产福利精品一区二区,国产八区,激情文学亚洲色图

運(yùn)用蟻群算法優(yōu)化項(xiàng)目調(diào)度中的折現(xiàn)現(xiàn)金流的方法

文檔序號:6458788閱讀:195來源:國知局
專利名稱:運(yùn)用蟻群算法優(yōu)化項(xiàng)目調(diào)度中的折現(xiàn)現(xiàn)金流的方法
技術(shù)領(lǐng)域
本發(fā)明涉及項(xiàng)目級的現(xiàn)金流管理和智能計(jì)算兩大領(lǐng)域,主要涉及一種運(yùn)用 蟻群算法優(yōu)化項(xiàng)目調(diào)度中的折現(xiàn)現(xiàn)金流的方法。 技術(shù)背景現(xiàn)金流,是指企業(yè)在某個項(xiàng)目或某項(xiàng)交易中不同階段現(xiàn)金的收入與支出, 自始至終貫穿于企業(yè)的每個環(huán)節(jié)中。如果沒有正的現(xiàn)金流,企業(yè)就難以發(fā)放薪 水并給供應(yīng)商以支付現(xiàn)金,甚至?xí)?dǎo)致整個企業(yè)的破產(chǎn)。經(jīng)濟(jì)學(xué)家把現(xiàn)金流稱 為企業(yè)的生命之流,因此,對現(xiàn)金流的管理和優(yōu)化顯得尤為重要。在項(xiàng)目級的 層面,現(xiàn)金流是評價一個項(xiàng)目是否可行的一個重要標(biāo)準(zhǔn)。當(dāng)發(fā)生現(xiàn)金短缺時, 即使是一個高利潤的項(xiàng)目也很有可能因此而破產(chǎn)。所以在近些年來,項(xiàng)目級現(xiàn) 金流管理成為了一個研究的熱點(diǎn)。在這個領(lǐng)域中的一個重要發(fā)展是將現(xiàn)金流管理歸納為著名的資源約束項(xiàng)目調(diào)度問題(RCPSP)。RCPSP要解決的是,在滿足時序和資源約束的條件下,對項(xiàng)目中帶有現(xiàn)金 流入或流出的各個活動進(jìn)行調(diào)度,從而達(dá)到完成項(xiàng)目工期最短的目的。RCPSP 中需要考慮可再生和不可再生兩類資源。其中可再生資源是指資源可用量在整 個項(xiàng)目實(shí)施過程的每個時間段內(nèi)保持恒定的資源,如人力資源;不可再生資源 是指資源可用量在項(xiàng)目開始時給定,并隨著消耗而逐漸減少的資源,如資金。 工序的優(yōu)先約束常常用箭線(AoA)網(wǎng)絡(luò)和單代號(AoN)網(wǎng)絡(luò)表示。在AoA 網(wǎng)絡(luò)中,箭線表示活動而節(jié)點(diǎn)表示事件,在AoN網(wǎng)絡(luò)中節(jié)點(diǎn)表示活動而箭線表 示相應(yīng)的優(yōu)先次序。在工業(yè)項(xiàng)目中,RCPSP得到了廣泛的應(yīng)用,例如房屋建設(shè) 和軟件開發(fā)等。但是,傳統(tǒng)的RCPSP忽略了現(xiàn)金流中評價一個項(xiàng)目的標(biāo)準(zhǔn)。Russell首先考 慮了在項(xiàng)目調(diào)度問題中不帶約束條件的現(xiàn)金流評價標(biāo)準(zhǔn)。在他的模型中包含一 連串的現(xiàn)金流入和流出,其中現(xiàn)金的流入包括支付的活動完成經(jīng)費(fèi),而現(xiàn)金的 流出包括資源的費(fèi)用等。在折現(xiàn)的現(xiàn)金流中對金錢的時間價值加以考慮,其中 折現(xiàn)現(xiàn)金的流入和流出的差值定義為整個項(xiàng)目的凈現(xiàn)值(NPV)。模型的目標(biāo)就是合理地安排各個活動使項(xiàng)目現(xiàn)金流的NPV最大。如果將資源的約束加入問題 之中,就成為含有折現(xiàn)現(xiàn)金流的資源約束項(xiàng)目調(diào)度問題(RCPSPDCF)。用NPV 準(zhǔn)則得到的調(diào)度結(jié)果往往與最短項(xiàng)目工期得到的結(jié)果有很大的不同,而前者的 實(shí)用性使得RCPSPDCF無論在科學(xué)研究還是在工程應(yīng)用上都得到了廣泛的關(guān) 注。RCPSPDCF —個更加全面且實(shí)用的類型是考慮時間——費(fèi)用,時間——資 源和資源一資源的平衡。每一個活動都可以在各種不同的模式下完成。在時 間——費(fèi)用的平衡當(dāng)中, 一種工期更長的執(zhí)行模式可能只需較低的費(fèi)用,而工 期短的執(zhí)行模式卻要較多的金錢。在時間——資源的平衡當(dāng)中,較長工期消耗 較少的資源,而短工期卻需要消耗大量資源。最后,在資源——資源的平衡當(dāng) 中,在不同的執(zhí)行模式中, 一種資源可以用另一種資源替代。存在這些平衡取 舍的問題稱為多模式RCPSPDCF (MRCPSPDCF)。著名的車間調(diào)度問題就是RCPSP的一種特例,因此RCPSP是非常復(fù)雜的 NP-難問題。由于需要在一個非線性模型中計(jì)算NPV, RCPSPDCF需要的計(jì)算 量更大。而在MRCPSPDCF中不僅要考慮活動的工序還要考慮活動執(zhí)行的模式, 因此MRCPSPDCF比之前的兩個問題更加復(fù)雜。Kolisch證明了在至少含有一種 不可再生資源的問題中,尋找出MRCPSPDCF的一個可行解就已經(jīng)是NP-完全 [l]。雖然已有很多啟發(fā)式算法用于求解RCPSPDCF,例如0-l整數(shù)規(guī)劃、分枝 限界法、遺傳算法、禁忌搜索和模擬退火等,但是用于求解MRCPSPDCF的算 法卻十分少見。在這個方面,Icmeli和Erenguc提出一個時間——費(fèi)用平衡問題, 其中當(dāng)一個活動的工期比正常短的時候,就需要支付趕工費(fèi)用。他們運(yùn)用了一 個帶有內(nèi)嵌優(yōu)先法則的啟發(fā)式程序以解決這個問題[2]。 6zdamar考慮了一個帶 有不同支出比率的項(xiàng)目,其中的活動在多種模式中執(zhí)行以保持正平衡。他提出 了一個特殊的啟發(fā)式算法對項(xiàng)目進(jìn)行調(diào)度,以達(dá)到按時完成項(xiàng)目并最大化NPV 的目的[3]。 Ulusoy提出了一種遺傳算法用于解決MRCPSPDCF并且考慮了四種 不同的支付模型[4]。本發(fā)明將蟻群算法運(yùn)用到MRCPSPDCF中。蟻群算法是受到螞蟻的覓食行 為啟發(fā)而提出的。在自然界中,螞蟻通過一種特殊的稱為信息素的化學(xué)物質(zhì)來進(jìn)行彼此之間的交流。通過路徑上信息素的釋放和感知,螞蟻可以找到一條從 蟻穴到食物源的最短路徑。蟻群算法正是受到這種現(xiàn)象的啟發(fā)而提出的,并且成功地應(yīng)用于各種組合優(yōu)化問題的求解中。蟻群算法在求解MRCPSPDCF中是十分有潛力的,這是因?yàn)槠湟?,蟻群算法在基于圖表的搜索問題上已被證明 是十分有效的,例如旅行商問題和路由問題等,而MRCPSPDCF可以很容易地 轉(zhuǎn)化為基于圖表的搜索問題;其二,不同于其它啟發(fā)式算法,蟻群算法是一種 構(gòu)造算法,其中解是一步一步構(gòu)造出來的。由于項(xiàng)目中的現(xiàn)金流也是一步一步 進(jìn)行研究的,這使得蟻群算法可以利用一些有效的啟發(fā)式信息提高搜索速度; 其三,Merkle等人已經(jīng)將蟻群算法運(yùn)用到RCPSP的求解中,并得到了很好的效 果。參考文獻(xiàn)[1] R. Kolisch: Project scheduling under resource constraints, efficient heuristics for several problem classes. Physica, Heidelberg, 1995.[2] 0. Icmeli, S. S. Erenguc: The resource constrained time cost tradeoff project scheduling problem with discounted cash flows. Journal of Operations Management vol. 14, pp. 255-275, 1996.[3] L. 6zdamar: On scheduling project activities with variable expenditure rates. IIE Transactions, vol. 30, no. 8, pp.695-704, 1998.[4〗G. Ulusoy: Four payment models for the multi-mode resource constrained project scheduling problem with discounted cash flows. Annals of Operations Research, vol. 102, pp. 237-261,2001.

發(fā)明內(nèi)容
本文提出了一個用于解決MRCPSPDCF的蟻群算法。首先,建立了 MRCPSPDCF的模型,其中除了普通的現(xiàn)金流入和流出外,該模型還會考慮間 接成本以及一個獎勵和懲罰機(jī)制。然后將MRCPSPDCF的模型轉(zhuǎn)化為該問題的 一個構(gòu)造圖,從而將調(diào)度問題轉(zhuǎn)化為一個基于圖表的搜索問題。蟻群算法基于 此構(gòu)造圖的搜索步驟包括(1)初始化算法的各個參數(shù),設(shè)構(gòu)造圖上的信息素初值為^。(2) 螞蟻中根據(jù)信息素和啟發(fā)式信息,通過運(yùn)用串行進(jìn)度生成方法(SSGS) 構(gòu)造問題的解。假設(shè)螞蟻當(dāng)前處于moc^,它選擇下一個模式wot%的公式為argmax卿—勿w^(r,, 如果《S g。執(zhí)行輪盤賭選擇方法, 否則如果mode, e e/z.g/6/e5"e/0, 否則其中,《e
是一個隨機(jī)數(shù),go為選擇參數(shù),"是決定啟發(fā)式信息比重的參數(shù)。 ^和^分別表示從附o^,到mo^,的有向邊^(qū)fee(zV)上的信息素和啟發(fā)式信息。 每一步選擇完成后,執(zhí)行局部信息素的更新。假設(shè)螞蟻當(dāng)前處于mo血,并且下一 步選擇了moc^,則局部信息素更新的法則由以下公式給出其中,《e
是一個參數(shù)。(3) 所有螞蟻都構(gòu)造完解后,計(jì)算這些解的npv。工序s的npv用以下 的方程計(jì)算鮮(S)=力wOS) - + /朋os)其中,A^FCS)表示工序現(xiàn)金流的最終凈現(xiàn)值。力jv(51), /^t(5),和/^(5)分別表示現(xiàn)金流入,現(xiàn)金流出和獎懲金額。而s必須滿足優(yōu)先次序約束和資源約束。(4) 當(dāng)所有螞蟻都完成解的構(gòu)建后,執(zhí)行全局信息素更新以加強(qiáng)最好的工 序。只有歷史最優(yōu)解或者當(dāng)代最優(yōu)解的邊上的信息素才會得到加強(qiáng)f(l — /5)r^ + pAj5,如果/tera/fcw%0 = 0;(l—p)^+m;;, 否則 其中p s[O,l]是一個參量,必是一個決定歷史最優(yōu)更新策略和當(dāng)代最優(yōu)更新策略 運(yùn)用比例的正整數(shù)。Af/的取值與A^F(^)有關(guān),表示為A"=(iw(。-~+1)fy ,j詔eW ■— ,W在上式中,是指在算法執(zhí)行過程中找到的第一個可行解的npv。是指第一個可行的歷史最優(yōu)解的NPV,要注意的是^ra詔W必須大于,rW。 y是 控制信息素比例的一個參數(shù)。同樣的,A;也可以用以下公式表示= (-^~~^——+1). ^乂 ,jWeW — ,W如果算法沒有找到可行解(y^W未定義),那么將不會執(zhí)行全局信息素更新。如 果找到了可行解,但是y W5W沒有定義,貝IJ設(shè)定A;、y或者A卜y。 (5)如果達(dá)到結(jié)束條件,則輸出最優(yōu)工序,否則回到步驟(2)。 發(fā)明的方法具有以下優(yōu)點(diǎn)1、在MRCPSPDCF的模型中考慮了間接費(fèi)用、 獎金和罰金以及現(xiàn)金流約束等條件,提高了模型的實(shí)際價值。2、利用蟻群算法 的特點(diǎn),設(shè)計(jì)出了基于時間和基于費(fèi)用的啟發(fā)式信息來引導(dǎo)螞蟻的搜索,從而 提高了算法的優(yōu)化性能。


圖l AoA網(wǎng)絡(luò)示意2優(yōu)先次序約束示意3 AoA網(wǎng)絡(luò)及對應(yīng)的MoN圖的示意4蟻群算法的流程圖
具體實(shí)施例方式以下結(jié)合附圖對本發(fā)明作進(jìn)一步的描述。本發(fā)明所考慮的MRCPSPDCF定義如下。給定一個帶有"個活動, 一些可 再生資源和一些不可再生資源的項(xiàng)目,其中每個活動",對應(yīng)有限個的執(zhí)行模式 a/;。在活動的調(diào)度中給出優(yōu)先次序約束和資源約束?,F(xiàn)金的流入和流出在項(xiàng)目 執(zhí)行期間發(fā)生。目標(biāo)是要找出最優(yōu)的工序,使得項(xiàng)目折現(xiàn)現(xiàn)金流的NPV最大。下表給出了問題中涉及的符號的具體定義符號_^_爿-(flo,fl!,…,a",a"w) 活動的集合;A,…,(3"表示真實(shí)的活動;"0禾卩a +1分別表示項(xiàng)目首尾的虛擬活動;"表示在項(xiàng)目中真實(shí)活動的個數(shù);事件的集合;閣表示事件的個數(shù);活動《,的緊前活動的集合和活動",的緊后活動的集合;事件A的緊前事件的集合和事件A的緊后事件 的集合;項(xiàng)目的AoA有向圖;支付事件(里程碑事件)的集合,它是五的子活動^, M),…,"+l,的執(zhí)行模式的集合;l關(guān)表示",可能的執(zhí)行模式的數(shù)量;朋,是第z'種可再生資源的可利用數(shù)量;總共有l(wèi)朋l種不同的可再生資源;單位時間中一個單位可再生資源的費(fèi)用;AW是第/種不可再生資源的可利用數(shù)量;總共有IA^I種不同的不可再生資源;單位時間中一個單位不可再生資源的費(fèi)用;項(xiàng)目的總體價值;每一個活動的資本凈值;活動/在模式y(tǒng)下的工期;活動/在模式j(luò)'下的固定費(fèi)用;活動i在模式_/下單位時間需要用的可再生資源)t的數(shù)量;活動/在模式J下需要用的不可再生資源/的數(shù)工序的解; 工序S的結(jié)束時間; &對應(yīng)的活動; &對應(yīng)的模式;&的開始時間,z'=0,...,"+l,&的結(jié)束時間,/=0,...,"+1 , 5^/=5^/=0,1. F&十i. 五7"; 事件!'發(fā)生的時間點(diǎn),tl,...,間; 折現(xiàn)率;預(yù)期的完成時間,如果5^r<ri0『,就會得到額外的獎勵,反之如果S.五A7^,作為懲罰,得到的報(bào)酬就會降低;在單位時間1]內(nèi)項(xiàng)目的間接費(fèi)用;費(fèi)用預(yù)繳比例義和里程碑支付比例&獎勵比例y和懲罰比例^MRCPSPDCF有以下幾個特點(diǎn)(1) 優(yōu)先次序約束——本文運(yùn)用箭線(AoA)網(wǎng)絡(luò)GKA^)來表示 MRCPSPDCF中的優(yōu)先次序約束。AoA網(wǎng)絡(luò)是一種有向無環(huán)圖,其中箭線的集 合對應(yīng)活動的集合J,節(jié)點(diǎn)的集合對應(yīng)事件的集合五。圖l為AoA網(wǎng)絡(luò)的示意 圖。要注意的是在AoA網(wǎng)絡(luò)中增加了兩個虛擬的活動^和"n,這兩個活動分 別表示項(xiàng)目的開端和結(jié)尾。基于AoA網(wǎng)絡(luò),優(yōu)先次序約束可以通過圖2所示的 規(guī)則給出。也就是,事件e,所有緊前活動完成后,事件e,馬上發(fā)生。只有在事 件A發(fā)生后,在其緊后的活動才能開始執(zhí)行。(2) 多模式一 一每一個活動都可以從有限集合M,;( ,…,/^.,…;n,)中 選出一種執(zhí)行模式。每一種執(zhí)行模式所需的時間以及消耗的資源都已預(yù)先給出。 活動a,.在模式/^.下的執(zhí)行時間為4,消耗r/^.單位的可再生資源A, "&單位的 不可再生資源/,且其固定的費(fèi)用為C五^。因此,不同執(zhí)行模式下的同一個活動 可能會消耗不同的金錢、資源和時間。其中需要考慮時間——費(fèi)用,時間—— 資源和資源——資源的平衡,在工序調(diào)度中只有最優(yōu)的模式才會用來完成相應(yīng) 的活動a,。r五,;i和0 y和3(3) 沒有搶先權(quán)——當(dāng)活動fl,在模式m&, (m&.eM,.)下開始執(zhí)行后就不得 中斷。(4) 資源約束——項(xiàng)目中存在可再生資源和不可再生資源??稍偕Y源在 項(xiàng)目實(shí)施過程中單位時間的使用量受限,而不可再生資源在整個項(xiàng)目中的總使 用量受限。(5) 現(xiàn)金流分析——分析項(xiàng)目折現(xiàn)現(xiàn)金流的凈現(xiàn)值(NPV),問題的目標(biāo) 函數(shù)是最大化NPV。此外,在本發(fā)明中還額外考慮了以下三個特點(diǎn)(1) 間接費(fèi)用(包括管理費(fèi),中介費(fèi)等)——本文將這些間接費(fèi)用也納入 模型之中。(2) 獎金和罰金(R-P)——項(xiàng)目的期待完成時間由[^w,^]給出。如果 項(xiàng)目可以在t?!褐巴瓿?,就可以得到額外的獎金。反之,如果項(xiàng)目不能在^之 前完成,企業(yè)就會受到懲罰而損失金錢。(3) 現(xiàn)金流約束——-傳統(tǒng)上的RCPSPDCF模型只考慮項(xiàng)目最后的NPV, 而忽略了中途的現(xiàn)金流。由于資金的短缺會導(dǎo)致項(xiàng)目的中斷,控制中途的現(xiàn)金 流顯得尤為重要。在模型中通過限制一段時間內(nèi)的活動現(xiàn)金流動量給出現(xiàn)金流 的約束,這樣在解中的現(xiàn)金流就會足夠穩(wěn)定以避免資金風(fēng)險?;谝陨厦枋龅奶攸c(diǎn)構(gòu)造模型,其中運(yùn)用"事件發(fā)生支付(PEO)"方法, 也就是當(dāng)里程碑事件發(fā)生后支付費(fèi)用。 以下闡述模型的建立方法MRCPSPDCF的目標(biāo)是要尋找最優(yōu)的工序5*=(^。,...,5* +1)以達(dá)到最大化 NPV的目的。 一個工序S的NPV可以用以下的方程計(jì)算= /頂(。-/, (S) + /"。 其中,iW^(5)表示工序現(xiàn)金流的最終凈現(xiàn)值。/wCS), /ot^5),和/"5)分別表示 現(xiàn)金流入,現(xiàn)金流出和獎懲金額。而5"必須滿足優(yōu)先次序約束和資源約束。 1. 現(xiàn)金流入(力w)力w包括所有在里程碑事件中支付的費(fèi)用。在里程碑事件e,中支付的費(fèi)用以 pa乂表示。戶為的取值會根據(jù)項(xiàng)目的開始時間折現(xiàn)為傘ay,。 /^可以被分成三個部分項(xiàng)目開始時支付的費(fèi)用(傘a為),結(jié)束時支付的費(fèi)用(^ "7問)和里程碑 事件的支付費(fèi)用問 間-i /諷(S) = S 6 淺(<S)=如乂 (S) + S c/踢(S) +咖"少問(S)在項(xiàng)目開始時會預(yù)繳總費(fèi)用的一定比例a)傘剛(6")=萍,(S) = /If/ 假設(shè)在e,之前的一個里程碑事件發(fā)生在rZJ7ES7;,而e,發(fā)生在ZE,.,那么中途的支付為ez/5^v"/j;7C/,[ru7ES7;,7E,]).『s 如果e, e戶五0, 如果g尸£其中,w職r"而i;,巧〗)"1,如果,,7^,^, e是里程碑L0, 否貝1」事件的支付比例,;^y,根據(jù)下式折現(xiàn)為傘町,。4 "乂(S) = j a乂(S)xexp(-a 7E,) (1 < /<| £I) 項(xiàng)目結(jié)束時的付款為問-2. 現(xiàn)金流出(/ow)/^T包括所有在項(xiàng)目中的開支,包括直接費(fèi)用("COW)和間接費(fèi)用(&OW)包含活動固定的費(fèi)用以及資源的耗費(fèi)。對于在第/種模式下執(zhí)行的活動》(^7),每單位時間的資源耗費(fèi)為網(wǎng) t 網(wǎng) t及c),=s。;.層*+2>《-層*與m^相應(yīng)的折現(xiàn)直接費(fèi)用可以用下式計(jì)算= C£ + S及C,,. exp(-a ■,)基于每種模式下的折現(xiàn)費(fèi)用,工序s的總體直接費(fèi)用為在一種特殊情況下,如果任何時間單位中的間接費(fèi)用為常數(shù)/,那么上式可exp(a) -13. 獎勵和懲罰(/^)//^取決于項(xiàng)目的完成時間(5^"。給定期望的完成期限[710,,7^],如果6:五r小于7^『,那么企業(yè)將會得到額外的收入。反之,如果s五r大于7w,企業(yè)就會受到懲罰。獎勵和懲罰的金額也需要進(jìn)行折現(xiàn)。計(jì)算/^的公式如下r"(K, 一 exp(-" ■ ,如果< ri0, /朋CS) = o, 如果ri0fF《5*.£r s rw-^/GSAT1 —. exp(-a.s.五r),如果7^ < s.五r其中,y和(5分別表示獎勵和懲罰比例。4. 約束條件MRCTCTPSP的解必須滿足兩個約束條件,也就是優(yōu)先次序約束和資源約 束。優(yōu)先次序約束用以下兩個公式來表示 五 ; = max,化"該公式表示在一個事件的所有緊前活動完成后,該事件馬上發(fā)生?!贰?; ,ife露c(e》(1《/《同,1"《w) 該公式表示活動只能在其緊前事件發(fā)生后才能開始執(zhí)行。對于每一單位時間+i](o臼' < 和所有可再生資源a(i s朋i), 資源的約束由以下公式給出2盧匿A:(S).《。柳,刮《朋*、,如果S , and 2 , +1i=0'、 否則其中,在每一段時間內(nèi)的資源消費(fèi)量不得大于可利用量。對所有不可再生資源^l^A^liV及l(fā)),資源的約束可以表示為有時候,還需要考慮現(xiàn)金流的約束以避免資金風(fēng)險。給定在時間/處的活動 現(xiàn)金的下限C&^),在f時刻前的現(xiàn)金流入和流出的差值應(yīng)該大于G,"f)。 以下詳細(xì)描述用于求解MRCPSPDCF的蟻群算法蟻群算法求解MRCPSPDCF的重點(diǎn)在于為問題建立一個構(gòu)造圖,并且定義 信息素和啟發(fā)式信息。在發(fā)明的算法中,首先要將問題的AoA網(wǎng)絡(luò)轉(zhuǎn)化為節(jié)點(diǎn) 模式(MoN)圖。這樣的MoN圖就成為了蟻群算法的構(gòu)造圖?;跇?gòu)造圖,人 工螞蟻就可以運(yùn)通串行進(jìn)度生成法(SSGS)來搜索問題的解了。在算法執(zhí)行的 過程中,每只螞蟻都會維持一個進(jìn)度生成器,并且根據(jù)信息素和啟發(fā)式信息構(gòu) 造問題的解。 1.構(gòu)造圖MoN圖OCEZX^,M0DE)是一種完整的有向圖。節(jié)點(diǎn)集是由所有活動中的 所有模式組成的,也就是Aft9i^-GMi。有向邊的集合五DG五將圖中任意兩個節(jié)點(diǎn)連接起來。以下介紹將AoA網(wǎng)絡(luò)轉(zhuǎn)換為MoN圖的方法。首先,將每個活動的所有可 能執(zhí)行模式收集到集合^0/)£= UM,. ={mo^,...,w^fe1M。D£1}中,并且重新排列,=0它們的索引號。也就是,每個模式 (0S^"+1, W^W;.1, m^Mj)對應(yīng)MOD五中 的一個元素woJ&。用IMOZ)五哮示模式的總數(shù),mo^表示項(xiàng)目開始的模式, 附^爭0爛表示結(jié)束的模式。所有其它的模式M力l,2,…,w)都按順序從m0&2 到mo內(nèi)膨爛.,進(jìn)行索引。為了方便聯(lián)系兩種不同的表示方式,當(dāng)WO&尸A^時,生成了集合MOZ巡后,MoN圖G-(五DG五,M(9Z)^)可以按如下方法得到。將MoN圖中的每個節(jié)點(diǎn)與集合MOZ)五中的一個元素相對應(yīng)。有向邊的集合五ZX^ 將圖中任意兩個節(jié)點(diǎn)連接起來,其中從mo成到mo電的邊由e啦e(iV)表示。圖3 是一個簡單的AoA網(wǎng)絡(luò)及對應(yīng)的MoN圖的示意圖。左圖中給出的AoA網(wǎng)絡(luò)含 有三個真實(shí)活動和兩個虛擬活動。假設(shè)每個真實(shí)活動都有兩種模式,而每個虛 擬活動都只有一種模式,則總共有八種模式對應(yīng)右圖中的八個節(jié)點(diǎn)。注意的是 在右圖中并沒有畫出所有的邊,而MoN圖中的所有節(jié)點(diǎn)都由有向邊相連。MoN圖是螞蟻建立問題的解的構(gòu)造圖。信息素和啟發(fā)式信息放置在連接模 式的邊上,其中在^/geO/)上的信息素和啟發(fā)式信息分別表示為^和^。每一只 螞蟻都是根據(jù)信息素和啟發(fā)式信息的指引,通過一步一步地對邊進(jìn)行選擇從而 構(gòu)造出問題的一個完整解的。這樣,調(diào)度問題就被轉(zhuǎn)化為一個基于圖表的搜索問題,目的是要找出從起始節(jié)點(diǎn)(mO&)到末端節(jié)點(diǎn)(附O^M5z^)的一條帶有最大NPV的路徑,并且滿足優(yōu)先次序約束和資源約束。在MoN圖中存在很多 違反優(yōu)先次序約束的冗余邊,這些冗余邊是不會出現(xiàn)在解中的。在構(gòu)造問題的 解路徑時,螞蟻會在每一步中維持一個合法邊的集合。只有那些可行的邊才會 被包含進(jìn)集合中,而那些不可行的邊則被忽略。 2.進(jìn)度生成器基于構(gòu)造圖,每一只螞蟻都運(yùn)通串行進(jìn)度生成法(SSGS)來建立問題的解。 由SSGS生成的一個解5^。,...,5;+1)就是從起始節(jié)點(diǎn)(S^mo&,)到末端節(jié)點(diǎn)(&+1=m0^|A,0Z)£|)的一條經(jīng)過所有活動的路徑。SSGS的偽代碼如下 Procedure SSGS1 iSo-mocfei4 for z'=l to w+15 &=^/e"0 //從合法集中選擇出一個模式6 將&調(diào)度到符合優(yōu)先約束和資源約束的最早時間7 更新資源8 更新WgA/eSa9end forio 評估7VPF0S)end procedure在SSGS的初始階段(偽代碼l-3行),首先將起始節(jié)點(diǎn)(moJe,)選為解S 的第一個模式,并設(shè)定modq的起始時間和結(jié)束時間(<S。.&)為0。此 外,螞蟻還會維持一個可行模式的集合(eZ/g/We5^),其中每一個元素都可以選 為解的下一個模式。也就是對于V",.swcc(q), 的所有模式都會被選入在偽代碼的4-9行中,螞蟻通過循環(huán)將中的模式一步一步添加到 S中,直到S覆蓋了所有的活動。在第A步中螞蟻首先從W/g/6/aS&中選出一個 可行的模式S產(chǎn)mo"^然后將其調(diào)度到滿足優(yōu)先次序和資源約束的最早執(zhí)行時間。其中,在函數(shù)w/e"()中運(yùn)用的是一種偽隨機(jī)比例選擇方法。之后更新執(zhí)行 模式mo南后的可利用資源數(shù)量。對Wg/WeS&進(jìn)行更新,去除其中所有與模式 mo&,同屬一個活動的模式。此外,如果mo&,所屬的活動是事件力的緊前活動 之一,也就是A^mocfe,)e,W(e》,而且在卩^/(>;.)中的所有其它活動都已執(zhí) 行完畢,那么所有屬于wcc(^)的活動的模式都會被加入^;g/Z)/e&f中。 一種特 殊情況是,如果所剩的不可再生資源不足以執(zhí)行任何未執(zhí)行的模式,那么 e/Zg/WaS"就會變?yōu)榭占?,這樣就不能夠組成一個完整的解。在這種情況下,進(jìn) 度生成器將會終止,而這個不可行的工序的NPV也會被設(shè)為一個非常小的值。當(dāng)一個完整的解構(gòu)造完畢后,它的凈現(xiàn)值A(chǔ)^FOS)就可以根據(jù)給出的公式進(jìn) 行計(jì)算了。3.蟻群算法的程序和規(guī)則發(fā)明的蟻群算法的流程圖如圖4所示。在算法中,每一只螞蟻在每一次循 環(huán)中都維持一個獨(dú)立的SSGS用以構(gòu)建它的解。同樣的,螞蟻也會維持信息素和 啟發(fā)式信息用作SSGS中的選擇信息。 (1)選擇方法在SSGS中下一個模式是由函數(shù)M/wO根據(jù)偽隨機(jī)比例選擇方法選出的。 假設(shè)螞蟻當(dāng)前處于mocfe,,從函數(shù)^/ec《)中返回的下一個模式mo^可以用以下兩個公式表示<formula>formula see original document page 18</formula>如果《S《0 執(zhí)行輪盤賭選擇方法, 否則--52-如果附<formula>formula see original document page 18</formula>0, 否則生成一個隨機(jī)數(shù)ge[O,l]并與選擇參數(shù)^進(jìn)行比較。如果g《&,就選擇在 e//g!'6/aS^中r,7.最大的執(zhí)行模式mocfe,,其中^和仏7分別表示從wo浙到 mo浙的有向邊e々e(!',/)上的信息素和啟發(fā)式信息,^是決定啟發(fā)式信息比重的 參數(shù)。在另一方面,如果《>&,那么就執(zhí)行輪盤賭的選擇方法,也就是說選擇 膨J力的概率和V 的取值成比例。 (2)信息素的處理在蟻群算法的初始化階段,所有有向邊上的信息素都設(shè)置為1^=r0=l, V(/,力e腦五當(dāng)螞蟻完成SSGS中的一步選擇了一個模式后,馬上就執(zhí)行局部信息素的 更新。假設(shè)螞蟻當(dāng)前處于mo&,并且下一步選擇了 ;m^力,則局部信息素更新的 法則由以下公式給出其中,《e
是一個參數(shù)。由于2"。是信息素取值的下限,局部信息素更新的作 用在于降低已選邊上的信息素,使得之后的螞蟻有更大的概率選擇其它的邊。 換句話說,局部性信息素更新增強(qiáng)了算法的多樣性。在一次循環(huán)中,當(dāng)所有螞蟻都完成解的構(gòu)建后,執(zhí)行全局信息素更新以加 強(qiáng)最好的工序。只有歷史最優(yōu)解或者當(dāng)代最優(yōu)解的邊上的信息素才會得到加強(qiáng)<formula>formula see original document page 18</formula>,如果= 0;<formula>formula see original document page 18</formula> 否則 其中p e [O,l]是一個參量,"是一個決定歷史最優(yōu)更新策略和當(dāng)代最優(yōu)更新策略 運(yùn)用比例的正整數(shù)。A^的取值與A7^(^)有關(guān),表示為在上式中,刀rw是指在算法執(zhí)行過程中找到的第一個可行解的npv。是指第一個可行的歷史最優(yōu)解的NPV,要注意的是y^s^ew必須大于力raf。 y是控制信息素比例的一個參數(shù)。同樣的,a;也可以用以下公式表示《=(, +1)卞如果算法沒有找到可行解(^W未定義),那么將不會執(zhí)行全局信息素更新。如果找到了可行解,但是y "^e^沒有定義,則設(shè)定《'=^或者厶;;=^。 p)啟發(fā)式信息啟發(fā)式信息用于引導(dǎo)螞蟻的搜索。在本發(fā)明中綜合利用了基于時間和費(fèi)用 的啟發(fā)式信息?;跁r間的啟發(fā)式信息可以加速項(xiàng)目的進(jìn)程。本文中基于時間的啟發(fā)式f〗'■、..息稱為最早完成時間(EFT)啟發(fā)式信息%.=1/£尸7;。也就是,位于wo&, 中的螞蟻選擇附o電.的傾向性與mo電最早的符合約束條件的結(jié)束時間(£F7p 成反比。如果mo&,.是活動^的第/種模式(mo^=wA/),那么五F ;. =£^7}基于費(fèi)用的啟發(fā)式信息可以引導(dǎo)螞蟻選擇費(fèi)用較少的模式。本文中基于費(fèi) 用的啟發(fā)式信息稱為折現(xiàn)到活動開始時的最低費(fèi)用(MCDA)啟發(fā)式信息 ^二l/Z^COS7;。也就是,選擇moc^的傾向性與模式折現(xiàn)到活動開始時的費(fèi)用 成反比。如果mo^是活動化的的第/種模式(附o^-柳w), Z^COS7)可以計(jì)算 如下wcasr,. = & + z (及Cw+/). exp(-" 乂 <'=o在執(zhí)行函數(shù)M/"《)之前,人工螞蟻首先隨機(jī)選擇一種類型的啟發(fā)式信息。生成一個隨機(jī)整數(shù)^"£{0,1,2},如果m"=0,則運(yùn)用EFT啟發(fā)式信息;如果raw=l,則運(yùn)用MCDA啟發(fā)式信息;否則,運(yùn)用EFT+MCDA啟發(fā)式信息 1(五Fj;./)+iX4cas7;其中/為一個常數(shù),目的是平衡兩種啟發(fā)式信息<以下給出發(fā)明的方法用于求解MRCPSPDCF的仿真測試結(jié)果 用于優(yōu)化MRCPSPDCF的算法十分少見,在己有的文獻(xiàn)中,只有Ulusoy提 出的遺傳算法能用于類似問題的求解中。因此,將發(fā)明的蟻群算法與該遺傳算 法進(jìn)行比較。其中,蟻群算法的參數(shù)設(shè)置為"=10, ^ = 0.1 ,= 0.1 , " = 1, "=1和(// = 20。隨機(jī)生成55個帶有13至98個活動的項(xiàng)目,其中每個活動都有 1至5種執(zhí)行模式,并且隨機(jī)生成資源和現(xiàn)金流。在這55個仿真測試?yán)又校?蟻群算法能在47個例子中得到更高的NPV。這證明了發(fā)明的方法是十分有效的。
權(quán)利要求
1、一種運(yùn)用蟻群算法優(yōu)化項(xiàng)目調(diào)度中的折現(xiàn)現(xiàn)金流的方法,其特征在于,該方法首先建立了MRCPSPDCF的模型,其中除了普通的現(xiàn)金流入和流出外,該模型還會考慮間接成本以及一個獎勵和懲罰機(jī)制。然后將MRCPSPDCF的模型轉(zhuǎn)化為該問題的一個構(gòu)造圖,從而將調(diào)度問題就被轉(zhuǎn)化為一個基于圖表的搜索問題。蟻群算法基于此構(gòu)造圖的搜索步驟包括(1)初始化算法的各個參數(shù),設(shè)構(gòu)造圖上的信息素初值為τ0。(2)螞蟻根據(jù)信息素和啟發(fā)式信息,通過運(yùn)用串行進(jìn)度生成方法(SSGS)構(gòu)造問題的解。假設(shè)螞蟻當(dāng)前處于modei,它選擇下一個模式modej的公式為其中,q∈
是一個隨機(jī)數(shù),q0為選擇參數(shù),β是決定啟發(fā)式信息比重的參數(shù)。τil和ηil分別表示從modei到model的有向邊edge(i,l)上的信息素和啟發(fā)式信息。每一步選擇完成后,執(zhí)行局部信息素的更新。假設(shè)螞蟻當(dāng)前處于modei并且下一步選擇了modej,則局部信息素更新的法則由以下公式給出τij=(1-ξ)τij+ξτ0其中,ξ∈
是一個參數(shù)。(3)所有螞蟻都構(gòu)造完解后,計(jì)算這些解的NPV。工序S的NPV用以下的方程計(jì)算 NPV(S)=fIN(S)-fOUT(S)+fRP(S)其中,NPV(S)表示工序現(xiàn)金流的最終凈現(xiàn)值。fIN(S),fOUT(S),和fRP(S)分別表示現(xiàn)金流入,現(xiàn)金流出和獎懲金額。而S必須滿足優(yōu)先次序約束和資源約束。(4)當(dāng)所有螞蟻都完成解的構(gòu)建后,執(zhí)行全局信息素更新以加強(qiáng)最好的工序。只有歷史最優(yōu)解或者當(dāng)代最優(yōu)解的邊上的信息素才會得到加強(qiáng)其中ρ∈
是一個參量,ω是一個決定歷史最優(yōu)更新策略和當(dāng)代最優(yōu)更新策略運(yùn)用比例的正整數(shù)。Δijbs的取值與NPV(Sbs)有關(guān),表示為
2、 基于權(quán)利要求1所述的一種運(yùn)用蟻群算法優(yōu)化項(xiàng)目調(diào)度中的折現(xiàn)現(xiàn)金流 的方法,其特征在于,在MRCPSPDCF的模型中考慮了間接費(fèi)用、獎金和罰金 以及現(xiàn)金流約束等條件。
3、 基于權(quán)利要求1所述的一種運(yùn)用蟻群算法優(yōu)化項(xiàng)目調(diào)度中的折現(xiàn)現(xiàn)金流 的方法,其特征在于,算法綜合利用了基于時間和費(fèi)用的啟發(fā)式信息來引導(dǎo)螞 蟻的搜索?;跁r間的啟發(fā)式信息可以加速項(xiàng)目的進(jìn)程。該啟發(fā)式信息的計(jì)算 方法為%=l/£i 7;。也就是,位于mo叔.中的螞蟻選擇mo電.的傾向性與 最早的符合約束條件的結(jié)束時間(五FT))成反比。如果moc^.是活動q的第/ 種模式(mo^廣mw),那么W,7^^7;+《,?;谫M(fèi)用的啟發(fā)式信息可以引導(dǎo)螞蟻選擇費(fèi)用較少的模式。該啟發(fā)式信息的計(jì)算方法為^-i/z^cost;。也就是,選擇m^^.的傾向性與模式折現(xiàn)到活動開始時的費(fèi)用成反比。如果mo&, 是活動^的的第/種模式(mo&廣附w), ZX4COS7)可以計(jì)算如下在選擇下一個執(zhí)行模式之前,人工螞蟻首先隨機(jī)選擇一種類型的啟發(fā)式信息。 方法是生成一個隨機(jī)整數(shù)mne {0,1,2},如果m"=0,則運(yùn)用基于時間的啟發(fā)式 信息;如果^"=1,則運(yùn)用基于費(fèi)用的啟發(fā)式信息;如果^ =2,則綜合運(yùn)用以上兩種啟發(fā)式信息<formula>formula see original document page 4</formula>其中/為一個常數(shù)。
全文摘要
本發(fā)明公開了一種運(yùn)用蟻群算法優(yōu)化項(xiàng)目調(diào)度中的折現(xiàn)現(xiàn)金流的方法。提出的方法用于解決多模式折現(xiàn)現(xiàn)金流的資源約束調(diào)度問題(MRCPSPDCF)。首先,建立了MRCPSPDCF的模型,其中除了普通的現(xiàn)金流入和流出外,該模型還會考慮間接成本以及一個獎勵和懲罰機(jī)制。然后為MRCPSPDCF的模型建立了一個構(gòu)造圖,從而將調(diào)度問題轉(zhuǎn)化為一個基于圖表的搜索問題。通過運(yùn)用串行進(jìn)度生成方法(SSGS),螞蟻在構(gòu)造圖中根據(jù)信息素和啟發(fā)式信息一步一步地構(gòu)造問題的解。算法中綜合運(yùn)用了基于時間和基于費(fèi)用的啟發(fā)式信息來引導(dǎo)螞蟻的搜索。與現(xiàn)有的其它算法相比,本發(fā)明的方法在問題的求解中能取得更好的結(jié)果。
文檔編號G06N3/00GK101241562SQ200810026478
公開日2008年8月13日 申請日期2008年2月27日 優(yōu)先權(quán)日2008年2月27日
發(fā)明者軍 張, 陳偉能, 韜 黃 申請人:中山大學(xué)
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點(diǎn)贊!
1