當(dāng)前位置:首頁 > 工業(yè)控制 > 工業(yè)控制技術(shù)文庫
[導(dǎo)讀] 為了優(yōu)化鉆井流程并降低作業(yè)成本,Baker Hughes的動(dòng)力學(xué)與遙測(cè)(Dynamics & Telemetry)小組開發(fā)了一個(gè)序列預(yù)測(cè)算法,用于在鉆井作業(yè)期間快速可靠的解碼井下數(shù)據(jù)。這個(gè)已集成

為了優(yōu)化鉆井流程并降低作業(yè)成本,Baker Hughes的動(dòng)力學(xué)與遙測(cè)(Dynamics & Telemetry)小組開發(fā)了一個(gè)序列預(yù)測(cè)算法,用于在鉆井作業(yè)期間快速可靠的解碼井下數(shù)據(jù)。這個(gè)已集成到公司地面系統(tǒng)的高級(jí)解碼算法為隨鉆測(cè)量(measurement while drilling,MWD)方法提供了支持。使用MWD時(shí),可以收集寶貴的方位數(shù)據(jù)和地層數(shù)據(jù),以用來優(yōu)化鉆井流程。該系統(tǒng)支持更準(zhǔn)確地定位井眼,這可以使鉆井作業(yè)更具成本效益,并使操作員可以較少的非生產(chǎn)時(shí)間(NPT)鉆更復(fù)雜的井。

工程團(tuán)隊(duì)使用一種桌面科學(xué)計(jì)算軟件設(shè)計(jì)序列預(yù)測(cè)算法,將其自動(dòng)轉(zhuǎn)換為C代碼,然后部署到屬于地面系統(tǒng)一部分的一臺(tái)實(shí)時(shí)PC上。在科學(xué)計(jì)算軟件中開發(fā)和調(diào)試該算法后,工程師通過自動(dòng)生成所需的C代碼來加速實(shí)現(xiàn)過程。

此工作流程不再需要用兩種語言維護(hù)和測(cè)試同一個(gè)算法,因此縮短了開發(fā)流程。更重要的是,此工作流程降低了用手工編寫C代碼的一種主要風(fēng)險(xiǎn),即原始科學(xué)計(jì)算算法和最終設(shè)計(jì)中實(shí)現(xiàn)的C代碼之間的差異。使用此工作流程的一大優(yōu)勢(shì)是小組在修復(fù)缺陷上所花的時(shí)間減少了。質(zhì)量和開發(fā)速度的提升使小組堅(jiān)定了在未來的項(xiàng)目中重用算法和開發(fā)流程的打算。

使用馬爾可夫鏈(Markov Chains)進(jìn)行序列預(yù)測(cè)

序列預(yù)測(cè)的一個(gè)常見應(yīng)用是使用以前的數(shù)據(jù)來預(yù)估未來的數(shù)據(jù)點(diǎn)。序列預(yù)測(cè)算法在許多行業(yè)和許多情形中都會(huì)用到,例如基于測(cè)量數(shù)據(jù)的溫度曲線外推,或者在與最大似然序列估算器進(jìn)行數(shù)字通信時(shí),從噪聲信號(hào)中提取有用的信息。序列預(yù)測(cè)需要一個(gè)模型來預(yù)測(cè)未來數(shù)據(jù),如馬爾可夫鏈。使用馬爾可夫鏈建模的系統(tǒng)占用有限的狀態(tài)數(shù),從而使未來的數(shù)據(jù)點(diǎn)僅取決于目前的狀態(tài)而不是以前的狀態(tài)。

在圖1中,使用馬爾可夫鏈建模的序列預(yù)報(bào)器具有4個(gè)狀態(tài)。從一個(gè)狀態(tài)轉(zhuǎn)換到另一個(gè)狀態(tài)的可能性用小數(shù)表示。例如,從狀態(tài)1轉(zhuǎn)換為狀態(tài)2的概率為0.95,而保持在狀態(tài)1的概率為0.05。在轉(zhuǎn)換時(shí),可能會(huì)有一個(gè)或多個(gè)路徑。圖1中顯示的序列預(yù)報(bào)器可作為有限的狀態(tài)機(jī)來實(shí)現(xiàn),它的最形象的表達(dá)就是格狀圖。

圖2顯示的是一個(gè)可能的(預(yù)測(cè)的)狀態(tài)序列。虛線箭頭表示可能的轉(zhuǎn)換,實(shí)線箭頭表示實(shí)際預(yù)測(cè)的轉(zhuǎn)換。此圖顯示可能的序列為[1 2 3 4 4 3 3 1]。請(qǐng)注意,僅顯示部分可能的轉(zhuǎn)換來進(jìn)行說明。與著名的Viterbi算法類似,序列預(yù)報(bào)器通過基于外部質(zhì)量標(biāo)準(zhǔn)計(jì)算路徑度量來拒絕不大可能的序列路徑。如果兩個(gè)或多個(gè)路徑在一個(gè)狀態(tài)中相交,則累積并比較它們的路徑度量值,將最佳路徑選為幸存路徑。

工程團(tuán)隊(duì)在技術(shù)計(jì)算軟件中為序列預(yù)測(cè)實(shí)現(xiàn)馬爾可夫鏈,以提高其地面解碼軟件的可靠性。

算法開發(fā)工作流程

在傳統(tǒng)的手工編碼工作流程中,會(huì)用C代碼重寫原始科學(xué)計(jì)算算法和測(cè)試框架,并且必須對(duì)C代碼進(jìn)行測(cè)試和調(diào)試。在新的工作流程中,C代碼會(huì)從技術(shù)計(jì)算軟件中自動(dòng)生成,從而節(jié)約了時(shí)間并可防止編碼錯(cuò)誤(圖3)。

圖3.傳統(tǒng)的手工編碼工作流程(左)和新的自動(dòng)代碼生成工作流程(右)

在一個(gè)典型的情景中,自動(dòng)代碼生成工作流程可將開發(fā)和測(cè)試最終產(chǎn)品中實(shí)現(xiàn)的算法的總時(shí)間縮短近40%(圖4)。

圖4.各個(gè)流程階段花費(fèi)時(shí)間百分比

對(duì)于這個(gè)特定的項(xiàng)目,新的工作流程的開始是工程團(tuán)隊(duì)在科學(xué)計(jì)算軟件中快速探索新創(chuàng)意。在確定最佳方法后,他們使用同一款軟件來建立一個(gè)通用序列估算算法的原型。然后進(jìn)一步擴(kuò)展該算法,以用于MWD系統(tǒng)的地面PC上。在進(jìn)行到下一個(gè)階段之前,工程部門使用已納入同一軟件中的測(cè)試框架內(nèi)的多種測(cè)試案例來測(cè)試算法,以驗(yàn)證它是否符合要求和規(guī)范。

通過自動(dòng)代碼生成來實(shí)現(xiàn)

傳統(tǒng)手工編碼流程的許多缺點(diǎn)迫使工程團(tuán)隊(duì)去尋找一種替代流程來開發(fā)序列預(yù)測(cè)算法。首先,手工編碼非常耗時(shí),并且在緊張的截止日期臨近時(shí),為了留出時(shí)間給重要而又耗時(shí)的集成測(cè)試,團(tuán)隊(duì)需要將開發(fā)時(shí)間縮短大約30%。其次,程序員可能會(huì)在原始科學(xué)計(jì)算算法細(xì)節(jié)上出現(xiàn)解讀錯(cuò)誤,從而將缺陷引入手寫的C代碼,造成需要額外的時(shí)間來進(jìn)行調(diào)試和修復(fù)。

在新的工作流程中,通過自動(dòng)代碼生成可以消除這些缺點(diǎn)。在科學(xué)計(jì)算軟件中,工程師們的工作側(cè)重于在較高層次上開發(fā)和微調(diào)算法,不用過多地困在較低層次的實(shí)現(xiàn)細(xì)節(jié)上。然后,該團(tuán)隊(duì)只需一鍵點(diǎn)擊就可以從原始設(shè)計(jì)自動(dòng)生成C代碼。由于該流程是自動(dòng)執(zhí)行的,因此在將算法轉(zhuǎn)換為C代碼時(shí)不會(huì)出現(xiàn)解析錯(cuò)誤的情況。為了生成代碼,需要花些時(shí)間來微調(diào)原始科學(xué)計(jì)算算法,但這屬于一次性任務(wù),如果在開發(fā)設(shè)計(jì)的開始階段就考慮到代碼生成,則可以進(jìn)一步簡(jiǎn)化這項(xiàng)任務(wù)。

維護(hù)和測(cè)試算法

在傳統(tǒng)的工作流程中,在開發(fā)后期對(duì)需求進(jìn)行更改會(huì)影響原始設(shè)計(jì)及其實(shí)現(xiàn)。對(duì)算法的更新必須反映在C代碼中,使用兩種語言和環(huán)境維護(hù)并測(cè)試同一個(gè)算法及測(cè)試框架的成本會(huì)迅速成為阻礙因素。在開發(fā)周期的后期發(fā)現(xiàn)缺陷時(shí),開發(fā)人員需要更新該算法的原始科學(xué)計(jì)算代碼和C代碼版本兩者,還需要?jiǎng)?chuàng)建兩套測(cè)試方案來驗(yàn)證缺陷是否已經(jīng)解決。當(dāng)然,還存在兩個(gè)代碼庫產(chǎn)生差異的風(fēng)險(xiǎn)。時(shí)間限制經(jīng)常會(huì)促使團(tuán)隊(duì)僅更新C代碼。出現(xiàn)這種情況時(shí),團(tuán)隊(duì)會(huì)再次受困于用C代碼手工編碼的所有缺陷,直到兩個(gè)代碼庫一致。

使用自動(dòng)代碼生成,工程團(tuán)隊(duì)則可避免這些潛在的錯(cuò)誤。當(dāng)需求發(fā)生變化時(shí),工程師只需要更新原始科學(xué)計(jì)算代碼,然后重新生成C代碼,將新變化反映到實(shí)現(xiàn)中。具體來說,團(tuán)隊(duì)無需對(duì)生成的C代碼進(jìn)行任何更改,因?yàn)樵谥匦律纱a時(shí)這些更改會(huì)被覆蓋。此外,工程團(tuán)隊(duì)也不再需要開發(fā)第二個(gè)測(cè)試框架,因此節(jié)約了額外的時(shí)間。用于測(cè)試科學(xué)計(jì)算代碼的原始測(cè)試框架可以重用來測(cè)試C代碼。

將算法集成到地面系統(tǒng)

C代碼單元測(cè)試一結(jié)束,團(tuán)隊(duì)便將C代碼編譯到一個(gè)動(dòng)態(tài)鏈接庫(DLL)。然后,將DLL集成到地面解碼軟件。最后,小組在公司的基于C代碼的測(cè)試基礎(chǔ)架構(gòu)中執(zhí)行整個(gè)地面解碼算法的系統(tǒng)測(cè)試。

在測(cè)試期間如果發(fā)現(xiàn)缺陷,小組發(fā)現(xiàn)很容易查明錯(cuò)誤的源頭。由于工程師將序列預(yù)測(cè)算法隔離到一個(gè)DLL中,因此很容易確定缺陷是集成問題的結(jié)果還是算法本身所導(dǎo)致。此外,C代碼會(huì)映射回原始科學(xué)計(jì)算代碼,并為您提供了在C代碼中嵌入技術(shù)計(jì)算代碼作為備注的選項(xiàng),進(jìn)一步加強(qiáng)了原始科學(xué)計(jì)算算法與最終實(shí)現(xiàn)之間的可追溯性。

結(jié)果

● 缺陷數(shù)量減少:該項(xiàng)目計(jì)劃分配了三周時(shí)間來修復(fù)十個(gè)缺陷,而在生成的C代碼中僅找到四個(gè)缺陷。因此,團(tuán)隊(duì)能夠?qū)⒍喑龅臅r(shí)間分配給項(xiàng)目的其他環(huán)節(jié),例如整個(gè)地面系統(tǒng)的系統(tǒng)測(cè)試。

● 修復(fù)缺陷所需的時(shí)間縮短:由于整個(gè)功能測(cè)試框架在科學(xué)計(jì)算軟件中可用,因此與傳統(tǒng)的手工編碼相比,團(tuán)隊(duì)能夠更快地找到缺陷并予以解決??茖W(xué)計(jì)算軟件中提供的分析和調(diào)試工具加速了此流程。這些工具中有許多也用于測(cè)試和調(diào)試C代碼。

● 代碼和流程可以在未來的項(xiàng)目中重用:序列預(yù)測(cè)算法可以在未來的項(xiàng)目中重用。該算法可以以現(xiàn)有的形式隨時(shí)現(xiàn)用,也可以在通過代碼生成采用C代碼重新實(shí)現(xiàn)之前,在科學(xué)計(jì)算軟件中進(jìn)行快速更新以用于其他應(yīng)用情形。

結(jié)論

通過使用自動(dòng)代碼生成,工程師成功采用了一種新的工作流程。這種流程可以避免耗時(shí)且容易出問題的手工編碼。地面解碼軟件(包括序列預(yù)測(cè)算法)接近最終版。在項(xiàng)目上實(shí)現(xiàn)的時(shí)間和成本節(jié)約使公司可以探索更多的機(jī)會(huì),將自動(dòng)代碼生成工作流程應(yīng)用到廣泛的未來項(xiàng)目中。

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫?dú)角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

倫敦2024年8月29日 /美通社/ -- 英國(guó)汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時(shí)1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動(dòng) BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運(yùn)行,同時(shí)企業(yè)卻面臨越來越多業(yè)務(wù)中斷的風(fēng)險(xiǎn),如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報(bào)道,騰訊和網(wǎng)易近期正在縮減他們對(duì)日本游戲市場(chǎng)的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)開幕式在貴陽舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機(jī) 衛(wèi)星通信

要點(diǎn): 有效應(yīng)對(duì)環(huán)境變化,經(jīng)營(yíng)業(yè)績(jī)穩(wěn)中有升 落實(shí)提質(zhì)增效舉措,毛利潤(rùn)率延續(xù)升勢(shì) 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長(zhǎng) 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競(jìng)爭(zhēng)力 堅(jiān)持高質(zhì)量發(fā)展策略,塑強(qiáng)核心競(jìng)爭(zhēng)優(yōu)勢(shì)...

關(guān)鍵字: 通信 BSP 電信運(yùn)營(yíng)商 數(shù)字經(jīng)濟(jì)

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺(tái)與中國(guó)電影電視技術(shù)學(xué)會(huì)聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會(huì)上宣布正式成立。 活動(dòng)現(xiàn)場(chǎng) NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長(zhǎng)三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會(huì)上,軟通動(dòng)力信息技術(shù)(集團(tuán))股份有限公司(以下簡(jiǎn)稱"軟通動(dòng)力")與長(zhǎng)三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉