• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      數(shù)據(jù)倉(cāng)庫(kù)ETL任務(wù)調(diào)度的一種改進(jìn)算法

      2014-12-09 16:46:07沈炳華
      無線互聯(lián)科技 2014年11期
      關(guān)鍵詞:數(shù)據(jù)倉(cāng)庫(kù)遺傳算法

      沈炳華

      摘 要:本文提出了一種基于遺傳算法的ETL任務(wù)調(diào)度改進(jìn)算法。由于ETL調(diào)度子任務(wù)之間具有先后順序的限制,傳統(tǒng)遺傳算法不能很好的適應(yīng)。本文通過對(duì)傳統(tǒng)遺傳算法的各個(gè)步驟進(jìn)行相應(yīng)處理,得到一種改進(jìn)的ETL任務(wù)調(diào)度算法;實(shí)際應(yīng)用結(jié)果表明調(diào)度算法顯著提高了處理ETL子任務(wù)的效率。

      關(guān)鍵詞:數(shù)據(jù)倉(cāng)庫(kù);ETL任務(wù)調(diào)度;遺傳算法

      任務(wù)的調(diào)度問題是一個(gè)NP完全問題,即不可能在多項(xiàng)式時(shí)間內(nèi)找到問題的最優(yōu)解。遺傳算法是計(jì)算機(jī)科學(xué)人工智能領(lǐng)域中用于解決最優(yōu)化的一種搜索啟發(fā)式算法,具有在復(fù)雜解空間中迅速找到最優(yōu)解的能力。本文中所述的算法嘗試使用遺傳算法來解決ETL任務(wù)中要求子任務(wù)具有一定前后約束關(guān)系的任務(wù)調(diào)度問題。

      1 交叉運(yùn)算

      交叉運(yùn)算的目的是在新一代個(gè)體中基于上一代產(chǎn)生新的個(gè)體,決定了遺傳算法的全局搜索能力。對(duì)于設(shè)置的某一概率pc交換兩個(gè)個(gè)體之間的部分染色體。由于子任務(wù)先后順序之間的約束性,我們?cè)诮徊孢\(yùn)算的同時(shí)也要保持子任務(wù)之間原有的先后順序。

      ⑴交叉算子1。交叉算子1在兩個(gè)父類調(diào)度方案之間交叉。

      步驟1:隨機(jī)選擇兩個(gè)個(gè)體作為要交換的對(duì)象,tsj,tsk。

      步驟2:隨機(jī)生成一整數(shù) 作為要交換的層的數(shù)字,在中隨機(jī)選出第j層的所有子任務(wù) 作為要交換的候選子任務(wù)。對(duì)調(diào)度子串,將2個(gè)調(diào)度中的第j層子任務(wù)按順序交換;對(duì)處理機(jī)子串,將這些交換的子任務(wù)所對(duì)應(yīng)的處理機(jī)子串上的位依次進(jìn)行交換。

      由于是在同一層的子任務(wù)上進(jìn)行交換處理機(jī)子串,所以不會(huì)改變子任務(wù)處理的先后關(guān)系,滿足調(diào)度任務(wù)的要求。

      ⑵交叉算子2。交叉算子2的作用是將同一個(gè)調(diào)度方案中的子串進(jìn)行交叉。

      步驟1:隨機(jī)選擇一個(gè)調(diào)度方案,記為tsi

      步驟2:隨機(jī)生成一個(gè)整數(shù)i作為要交換的層數(shù),在中找出屬于第i層的候選子任務(wù)。在這些候選子任務(wù)中隨機(jī)選擇兩個(gè)進(jìn)行交叉運(yùn)算。

      2 變異運(yùn)算

      變異操作的目的是在當(dāng)前的種群中加入新的個(gè)體,并且這個(gè)新的個(gè)體中大部分染色體繼承于父輩,而某些染色體是隨機(jī)產(chǎn)生的,并不繼承于它的父輩。變異操作決定了遺傳算法的局部搜索能力。這種操作可以向種群中加入新的特征,本文采用的變異運(yùn)算是將子任務(wù)從負(fù)載較大的處理機(jī)轉(zhuǎn)移到負(fù)載較小的處理機(jī)上,從而提高當(dāng)前個(gè)體的適應(yīng)度,有助于接近最優(yōu)解。操作步驟如下:

      步驟1:隨機(jī)選擇某個(gè)個(gè)體。

      步驟2:隨機(jī)生成一個(gè)整數(shù)i作為變異操作所在的層。

      步驟3:對(duì)于所有包含該操作的所有處理機(jī),計(jì)算各個(gè)處理機(jī)的負(fù)載,獲得最大負(fù)載處理機(jī) 和最小負(fù)載處理機(jī) 。

      步驟4:在第i層,對(duì)最大負(fù)載處理機(jī)上的子任務(wù)進(jìn)行變異操作,將第i層的子任務(wù)在處理機(jī)子串上的處理機(jī)由Ci變?yōu)镃j

      經(jīng)過上述的變異操作,增加了個(gè)體的適應(yīng)度,使解的搜索收斂速度加快。

      算法偽代碼實(shí)現(xiàn):

      基于上文給出的各操作的具體描述給出算法的偽代碼實(shí)現(xiàn)如下:

      輸入:種群規(guī)模N,交叉概率pc,變異概率pm,迭代次數(shù)Gene

      輸出:最優(yōu)調(diào)度TS

      實(shí)現(xiàn):

      Begin:

      生成初始種群,獲得

      //對(duì)種群中的每個(gè)個(gè)體計(jì)算它們的適應(yīng)度

      for x ← 0 to N

      {

      //每臺(tái)處理機(jī)的當(dāng)前調(diào)度長(zhǎng)度置零

      for y ← 0 to m

      for z ← 0 to p //對(duì)于ETL任務(wù)中所有的子任務(wù)循環(huán)

      {

      j ← 當(dāng)前子任務(wù)所在處理機(jī)序號(hào);

      //如果當(dāng)前子任務(wù)沒有前驅(qū),即它是第一層

      if

      {

      //子任務(wù)開始時(shí)間為處理機(jī) 的調(diào)度長(zhǎng)度

      startTime ← T(Cj);

      }

      else

      {

      //當(dāng)前子任務(wù)有前驅(qū)的子任務(wù)

      startTime ←T(Cj);

      }

      //結(jié)束時(shí)間為開始時(shí)間加上子任務(wù)的時(shí)間

      endTime ← startTime + O(z);

      //更新當(dāng)前子任務(wù)對(duì)應(yīng)的處理機(jī)的調(diào)度時(shí)間

      T(Cj)← endTime;

      }

      }

      do

      {

      //選擇操作,生成下一代調(diào)度

      Selection();

      //交叉操作,概率PC

      Crossover();

      //變異操作,概率Pm

      Mutation();

      //計(jì)算種群中所有調(diào)度的適應(yīng)度

      Fitness();

      }

      While(count

      ts ← max() //獲得適應(yīng)度最高的調(diào)度作為最后的解

      End

      猜你喜歡
      數(shù)據(jù)倉(cāng)庫(kù)遺傳算法
      基于數(shù)據(jù)倉(cāng)庫(kù)的數(shù)據(jù)傾斜解決方案研究
      基于數(shù)據(jù)倉(cāng)庫(kù)的住房城鄉(xiāng)建設(shè)信息系統(tǒng)整合研究
      遺傳算法對(duì)CMAC與PID并行勵(lì)磁控制的優(yōu)化
      頁巖氣工程大數(shù)據(jù)倉(cāng)庫(kù)建設(shè)與管理系統(tǒng)開發(fā)
      錄井工程(2017年3期)2018-01-22 08:39:50
      基于自適應(yīng)遺傳算法的CSAMT一維反演
      一種基于遺傳算法的聚類分析方法在DNA序列比較中的應(yīng)用
      基于遺傳算法和LS-SVM的財(cái)務(wù)危機(jī)預(yù)測(cè)
      分布式存儲(chǔ)系統(tǒng)在液晶面板制造數(shù)據(jù)倉(cāng)庫(kù)中的設(shè)計(jì)
      電子制作(2016年15期)2017-01-15 13:39:15
      探析電力系統(tǒng)調(diào)度中數(shù)據(jù)倉(cāng)庫(kù)技術(shù)的應(yīng)用
      協(xié)同進(jìn)化在遺傳算法中的應(yīng)用研究
      晋江市| 玉溪市| 元朗区| 崇礼县| 维西| 连州市| 于都县| 马公市| 茶陵县| 沿河| 双鸭山市| 罗定市| 高清| 东安县| 咸阳市| 卢龙县| 铁岭县| 长泰县| 和平县| 马山县| 安平县| 温州市| 太康县| 忻城县| 西昌市| 格尔木市| 突泉县| 平遥县| 宜宾市| 水城县| 威海市| 高安市| 巢湖市| 电白县| 东海县| 乐亭县| 阿克苏市| 迁西县| 涟水县| 枣强县| 南丹县|