麻豆精品无码国产在线播放,国产亚洲精品成人AA片新蒲金,国模无码大尺度一区二区三区,神马免费午夜福利剧场

一種基于遺傳文化基因算法的項目調度方法

文檔序號:6635517閱讀:1256來源:國知局
一種基于遺傳文化基因算法的項目調度方法
【專利摘要】本發明公開了一種基于遺傳文化基因算法的項目調度方法,(1)讀取項目信息,包括任務和軟件工程師的屬性;(2)初始化算法參數;(3)產生初始父代種群,并進行局部搜索;(4)對父代種群執行選擇、交叉和變異操作,構成子代種群;(5)對子代種群進行局部搜索;(6)合并父代和經局部搜索后的子代種群,從中選取適應度最優的一半個體構成下一代父代種群并進行迭代;(7)判斷迭代代數是否達到最大值,若達到,則終止迭代,輸出適應度最優的個體,該個體即為項目中每位軟件工程師在每項任務中投入的工作量分配結果。本發明具有搜索能力強,生成的調度方案效率高的優點。
【專利說明】一種基于遺傳文化基因算法的項目調度方法

【技術領域】
[0001] 本發明屬于項目管理領域,特別涉及了一種基于遺傳文化基因算法的項目調度方 法。

【背景技術】
[0002] 項目調度問題是指建立項目調度的模型,通過某種算法確定軟件工程師在各項任 務中的工作量,即確定任務分配列表,以在滿足各種約束條件的前提下,實現項目的工期最 短、成本最低等優化目標。項目調度問題研究得到的任務分配列表可以為項目管理者進行 實際任務分配提供重要參考。
[0003] 文化基因算法(memetic algorithm)是Pablo Moscato在1989年首次提出的。 文化基因算法模擬文化進化過程,用局部啟發式搜索來模擬由大量專業知識支撐的變異過 程。文化基因算法將基于種群的全局搜索和基于個體的局部啟發式搜索相結合,該機制使 得它的搜索效率在某些問題領域中比傳統遺傳算法提高幾個數量級,可廣泛應用于各類優 化問題中。遺傳文化基因算法是一種將遺傳算法作為全局搜索策略的文化基因算法,它的 基本步驟如下:將解空間中的向量編碼為遺傳空間中的基因串,常用的編碼方式有二進制 編碼、實數編碼等;在解空間中隨機生成n個個體構成初始種群;適應度計算,適應度反應 種群中個體的適應能力,通過適應度評價種群中個體的優劣;對初始種群中的每個個體進 行局部搜索;對種群實施遺傳算子操作,主要有選擇、交叉和變異三種算子組成,選擇的目 的是從種群中選擇優良的父代個體進入交配池,交叉的目的是對父代個體的染色體編碼進 行重組以產生子代個體,變異的目的是提供基因突變,以產生新的染色體;對生成的子代種 群評價適應度并進行局部搜索;構成新一代的父代種群。
[0004]目前已有的項目調度方法存在的不足之處是:局部搜索能力較弱,易于陷入局部 最優,調度效率低下。


【發明內容】

[0005] 為了解決上述【背景技術】提出的技術問題,本發明旨在提供一種基于遺傳文化基因 算法的項目調度方法,提高了局部搜索能力,避免陷入局部最優,實現快速高效的項目調 度。
[0006] 為了實現上述技術目的,本發明的技術方案為:
[0007] -種基于遺傳文化基因算法的項目調度方法,包括以下步驟:
[0008] (1)讀取項目的輸入信息,定義優化目標,設定約束條件:
[0009] 項目的輸入信息包括每個任務的工作量、技能要求和任務優先級圖,每位軟件工 程師所掌握的技能、可在本項目中投入的最大工作量、正常月薪和加班月薪;優化目標包括 項目工期和項目成本;約束條件包括任務技能約束和軟件工程師未超負荷工作的約束;
[0010] (2)初始化遺傳文化基因算法參數:
[0011] 設置遺傳文化基因算法的迭代次數T_、種群規模size_、聯賽選擇規模St_、交 叉概率P。以及局部搜索的迭代次數g_,設項目中有M名軟件工程師,N項任務,則變異概 率Pm為1AMN),設迭代次數計數器t = 0;
[0012] (3)產生初始父代種群,并進行局部搜索,得到新的父代種群:
[0013]隨機生成size_個個體構成初始父代種群P'(t),每個個體表示一個工作量分配 矩陣:
[0014] X = (xjjOuxn
[0015] 其中,

【權利要求】
1. 一種基于遺傳文化基因算法的項目調度方法,其特征在于,包括以下步驟: (1) 讀取項目的輸入信息,定義優化目標,設定約束條件: 項目的輸入信息包括每個任務的工作量、技能要求和任務優先級圖,每位軟件工程師 所掌握的技能、可在本項目中投入的最大工作量、正常月薪和加班月薪;優化目標包括項目 工期和項目成本;約束條件包括任務技能約束和軟件工程師未超負荷工作的約束; (2) 初始化遺傳文化基因算法參數: 設置遺傳文化基因算法的迭代次數Tmax、種群規模size_、聯賽選擇規模St_、交叉概 率P。以及局部搜索的迭代次數gmax,設項目中有M名軟件工程師,N項任務,則變異概率Pm為 V(MN),設迭代次數計數器t = O ; (3) 產生初始父代種群,并進行局部搜索,得到新的父代種群: 隨機生成size_個個體構成初始父代種群P'(t),每個個體表示一個工作量分配矩 陣: X - (Xij) MXN 其中,Xi e {0,e ·?/&,…i/M為第i個工程師ei在第j項任務Tj中投入的 工作量占全日制工作量的百分比,1 = 1,2,?,,」=1,2,?";6_<^為第1個工程師61 能夠對本項目投入的最大工作量占全日制工作量的百分比;k為解的劃分粒度;計算初始 種群中每個個體的目標值duration和cost,duration和cost分別表示項目工期和成本, 并進行約束處理;按下式計算每個個體的適應度: f (X) = ω1 · duration+ω 2 · cost 其中,ω i和ω 2表示目標duration和cost的相對重要性權重;對每個個體分別進行 局部搜索,得到新的父代種群P (t);從P (t)中確定出當前最優個體Xbest,即適應度值最小 的個體; (4) 生成子代種群: 對父代種群P (t)執行選擇、交叉和變異操作,產生新的個體構成子代種群Q'(t);計算 Q'(t)中每個子代個體的目標值和適應度; (5) 對子代種群進行局部搜索: 在子代種群Q'(t)中每個個體Vp的鄰域內,分別執行局部搜索操作得到新個體Zp,其 中,P = 1,2,…,Size_ ;將Zp與當前最優個體Xbest進行比較,如果Zp的適應度優于X best,即 f (Zp) <f (Xbest),則令Xbest = Zp;經局部搜索后產生的所有個體Zp構成新的子代種群Q(t); (6) 生成新一代父代種群: 合并父代種群P (t)和子代種群Q(t),從中選取適應度最優的一半個體構成下一代父 代種群 P(t+1);令 t = t+1 ; (7) 終止準則判斷: 若t > Tmax,則終止迭代,輸出適應度最優個體Xbest,該個體即為項目中每位軟件工程師 在每項任務中投入的工作量分配結果;否則,轉至步驟(4)。
2. 根據權利要求1所述一種基于遺傳文化基因算法的項目調度方法,其特征在于: 步驟(1)中所述項目工期表示完成項目所有任務所花費的時間開銷,它定義為:
其中,TT和7Trf分別表示任務L的開始時間和完成時間,且t 0; 步驟(1)中所述項目成本表示完成項目所有任務所花費的財力,它定義為:
其中,t'表示項目處于開發階段的某一個月;e_c〇<表示在t'期間付給軟件工程師 ei的薪酬;T_active_set(t')表示在t'期間正在進行開發的任務集合;Xij表示ei在任務 Tj中投入的工作量占全日制工作量的百分比;表示ei能夠對整個項目投入的最大工 作量占全日制工作量的百分比,當>1時,表示ei能夠加班工作和《胃--"分 別表示ei的正常月薪和加班月薪; 步驟(1)所述任務技能約束指參與某項任務的所有軟件工程師必須具備該任務要求 的所有技能,即
其中,req^表示任務L所需求的技能的集合;Skilli表示軟件工程師ei所掌握的所有 技能的集合; 步驟(1)所述軟件工程師不能超負荷工作的約束指在任一時期t' >0, 一個軟件工程 師為正在進行開發的任務同時投入的工作量之和不超過他對整個項目投入的最大允許工 作量,即
其中,e_.HW式'表示第i個軟件工程師ej^t'內正在進行開發的任務投入的工作量之 和。
3. 根據權利要求1所述一種基于遺傳文化基因算法的項目調度方法,其特征在于:在 步驟⑵中,交叉概率P。為〇. 9。
4. 根據權利要求1所述一種基于遺傳文化基因算法的項目調度方法,其特征在于:步 驟(3)和步驟(5)所述局部搜索方法的具體步驟如下: (a) 獲取初始個體Vp,令代數計算器g = 1,mark = 0 ; (b) 如果mark的值為0,則對個體Vp執行"隨機替代"操作,生成新個體Zp ;所述 "隨機替代"操作:從個體Vp的工作量分配矩陣中隨機選擇一個元素 vpip然后從集合 {0,· 1作,…,中隨機挑選一個與Vpij當前取值不同的值替代Vpij ;如果mark的 值不為0,則對個體Vp執行"交換"操作,生成新個體Zp ;所述"交換"操作:從個體Vp的工 作量分配矩陣中隨機選取兩行或兩列進行交換,然后對生成的新個體Zp執行啟發式算子操 作,即如果軟件工程師 ei不具備任務L要求的任一技能,則將ei對L分配的工作量設為 〇 ; (C)如果新個體Zp的適應度值優于個體Vp,即f (Zp) < f (Vp),則令Vp = Zp,否則,令 mark = mark-1 ; (d)如果g = gmax,則令Zp = Vp,輸出Zp,Zp即為對原個體Vp進行局部搜索操作后得到 的新個體;否則,令g = g+Ι,轉至步驟(b)。
5.根據權利要求1所述一種基于遺傳文化基因算法的項目調度方法,其特征在于:步 驟(4)中所述選擇操作是聯賽選擇,依據聯賽選擇規模Stour,從父代種群P (t)中隨機選取 St_個不同的個體,從中挑選適應度最優的一個個體加入交配池,此過程循環size_次;將 交配池中的個體隨機配對為size_/2對;所述交叉操作是依據交叉概率P。,確定交配池中 的每對個體是否需要進行交叉操作;如果某對個體需要進行交叉操作,則對這兩個交配個 體工作量分配矩陣中的每一行或列,以〇. 5的概率進行交換;所述變異操作是依據變異概 率Pm,將個體矩陣中待變異的元素替換為從集合·?〇^_Μ _々作}中隨機挑選的 另一個值。
【文檔編號】G06N3/12GK104392317SQ201410681051
【公開日】2015年3月4日 申請日期:2014年11月24日 優先權日:2014年11月24日
【發明者】申曉寧, 陳逸菲, 張敏, 趙麗玲, 林屹, 王玉芳 申請人:南京信息工程大學
網友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
主站蜘蛛池模板: 张家口市| 城步| 方山县| 谷城县| 鹤壁市| 于田县| 湖南省| 江口县| 鹤山市| 喀什市| 行唐县| 龙海市| 集安市| 高青县| 志丹县| 廊坊市| 余干县| 东莞市| 广河县| 连平县| 高台县| 丹东市| 繁昌县| 叙永县| 昌宁县| 额敏县| 漠河县| 建宁县| 封丘县| 宝应县| 永新县| 肥城市| 廉江市| 自贡市| 昆明市| 民县| 太仆寺旗| 宝坻区| 抚顺县| 仙居县| 扎兰屯市|