新聞中心

        EEPW首頁 > 測試測量 > 設計應用 > 降低實現科學計算算法的風險

        降低實現科學計算算法的風險

        作者: 時間:2017-02-06 來源:網絡 收藏
        為了優化鉆井流程并降低作業成本,Baker Hughes的動力學與遙測(Dynamics & Telemetry)小組開發了一個序列預測算法,用于在鉆井作業期間快速可靠的解碼井下數據。這個已集成到公司地面系統的高級解碼算法為隨鉆測量(measurement while drilling,MWD)方法提供了支持。使用MWD時,可以收集寶貴的方位數據和地層數據,以用來優化鉆井流程。該系統支持更準確地定位井眼,這可以使鉆井作業更具成本效益,并使操作員可以較少的非生產時間(NPT)鉆更復雜的井。
        工程團隊使用一種桌面科學計算軟件設計序列預測算法,將其自動轉換為C代碼,然后部署到屬于地面系統一部分的一臺實時PC上。在科學計算軟件中開發和調試該算法后,工程師通過自動生成所需的C代碼來加速實現過程。
        此工作流程不再需要用兩種語言維護和測試同一個算法,因此縮短了開發流程。更重要的是,此工作流程降低了用手工編寫C代碼的一種主要風險,即原始科學計算算法和最終設計中實現的C代碼之間的差異。使用此工作流程的一大優勢是小組在修復缺陷上所花的時間減少了。質量和開發速度的提升使小組堅定了在未來的項目中重用算法和開發流程的打算。
        使用馬爾可夫鏈(Markov Chains)進行序列預測
        序列預測的一個常見應用是使用以前的數據來預估未來的數據點。序列預測算法在許多行業和許多情形中都會用到,例如基于測量數據的溫度曲線外推,或者在與最大似然序列估算器進行數字通信時,從噪聲信號中提取有用的信息。序列預測需要一個模型來預測未來數據,如馬爾可夫鏈。使用馬爾可夫鏈建模的系統占用有限的狀態數,從而使未來的數據點僅取決于目前的狀態而不是以前的狀態。


        圖1.使用馬爾可夫鏈建模的序列預報器

        在圖1中,使用馬爾可夫鏈建模的序列預報器具有4個狀態。從一個狀態轉換到另一個狀態的可能性用小數表示。例如,從狀態1轉換為狀態2的概率為0.95,而保持在狀態1的概率為0.05。在轉換時,可能會有一個或多個路徑。圖1中顯示的序列預報器可作為有限的狀態機來實現,它的最形象的表達就是格狀圖。


        圖2.格狀圖示例

        圖2顯示的是一個可能的(預測的)狀態序列。虛線箭頭表示可能的轉換,實線箭頭表示實際預測的轉換。此圖顯示可能的序列為[1 2 3 4 4 3 3 1]。請注意,僅顯示部分可能的轉換來進行說明。與著名的Viterbi算法類似,序列預報器通過基于外部質量標準計算路徑度量來拒絕不大可能的序列路徑。如果兩個或多個路徑在一個狀態中相交,則累積并比較它們的路徑度量值,將最佳路徑選為幸存路徑。
        工程團隊在技術計算軟件中為序列預測實現馬爾可夫鏈,以提高其地面解碼軟件的可靠性。

        上一頁 1 2 下一頁

        評論


        技術專區

        關閉
        主站蜘蛛池模板: 改则县| 昌江| 平顶山市| 循化| 贵港市| 南漳县| 前郭尔| 武鸣县| 安多县| 靖安县| 延长县| 台北市| 宝坻区| 顺义区| 泽州县| 三原县| 大方县| 潜江市| 肇东市| 迁安市| 南充市| 进贤县| 崇礼县| 谷城县| 黄梅县| 兴隆县| 滨州市| 英吉沙县| 吴川市| 龙胜| 莒南县| 贡觉县| 遵化市| 义乌市| 吴川市| 汨罗市| 肇庆市| 万源市| 万盛区| 天全县| 九龙坡区|