999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于線性規劃的智能煉鐵配料系統①

2019-04-29 08:58:26張學鋒湯亞玲
計算機系統應用 2019年4期
關鍵詞:模型系統

張學鋒,濮 程,湯亞玲

(安徽工業大學 計算機科學與技術學院,馬鞍山 243002)

引言

近些年來鋼鐵企業的生存壓力空間加大,環保問題、成本問題都壓到了鐵前,在這種情況下,各鋼鐵廠都在尋找所謂降成本的靈丹妙藥.鐵前所有的工作最終要表現在生鐵成本上,因為所有原料、燃料影響成本占到90%,原燃料有劣次之分,如何選擇,也就是經常說的性價比問題,這是系統降成本的思路[1].因此,如何選擇煉鐵的配料對于現代鋼鐵企業非常重要,方便高效的配料計算方式對于降低煉鐵成本具有重要意義.

我國鋼企的高爐配料計算方式主要有3 種,分別是手工計算、Excel 計算和高爐配料應用軟件計算,它們主要通過正向計算和驗證調整來實現.其原理就是通過高爐配料計算預定條件下的理論出鐵量和理論爐渣量,將它們與設定目標對比,滿足誤差允許要求則為可行配比,否則再對配比進行調整,直至配比可行[2].由以上原理可已看出,其存在計算頻繁、效率低、結果差的問題,但是通過線性規劃理論優化后的高爐配料系統相對而言有一下優勢:效率高、上手快、界面規范化、可以根據不同的需求選擇不同的優化方向[2].例如,張瑞軍[3]等采用線性規劃法建立模型,并利用Matlab完成模型求解;新余鋼鐵集團有限公司[4]采用線性規劃法建立模型,并采用LINGO 工具求解模型;河鋼集團承鋼公司[5]采用了IData 技術進行數據庫數據、求解設置參數直接與Excel 連接的方法,通過Excel 求解線性規劃問題.文獻[3-5]都采用的線性規劃的方法建立了模型,但是對于線性規劃模型的求解均是采用數學求解工具求得結果,這樣會進一步提高對于優化煉鐵軟件工作環境的要求,不利于工程人員使用.

本文設計并實現了一個基于線性規劃的跨平臺(Windows 和Linux)智能煉鐵配料系統,采用單純形法求得最低成本的配料方案,并可將配料方案進行二維展示(表格)、煉鐵數據進行二維展示(表格、折線圖、柱狀圖)、煉鐵模型進行二維(圖片、動畫)和三維展示(三維模型).本系統節省了工程人員計算煉鐵配料的時間,降低了煉鐵配料的成本,多元化的輔助功能很大程度上提高了工程人員的工作效率,為指導生產提供理論依據.

1 相關技術

1.1 線性規劃

線性規劃是運籌學中研究較早、發展較快、應用廣泛、方法較成熟的一個重要分支,它是輔助人們進行科學管理的一種數學方法.線性規劃是求一個線性函數在滿足一組線性等式或不等式方程條件極值的統稱,它一般由三部分組成:

(1)由決策變量(如本文中的鐵礦粉)構成的反映決策目標(使配礦成本最低)的線性目標函數;

(2)一組包含決策變量的線性等式或不等式構成的約束方程(燒結礦成分范圍);

(3)限制決策變量取值范圍的非負約束[6].

1.2 單純形法

一般線性規劃問題中當線性方程組的變量數大于方程個數,這時會有不定數量的解,而單純形法是求解線性規劃問題的通用方法.單純形法就是秉承“保證每一次迭代比前一次更優”的基本思想:先找出一個基本可行解,對它進行鑒別,看是否是最優解;若不是,則按照一定法則轉換到另一改進后更優的基本可行解,再鑒別;若仍不是,則再轉換,按此重復進行.因基本可行解的個數有限,故經有限次轉換必能得出問題的最優解[7].

1.3 Assimp 庫

一個非常流行的模型導入庫是Assimp,它是Open Asset Import Library(開放的資產導入庫)的縮寫.Assimp 能夠導入很多種不同的模型文件格式(并也能夠導出部分的格式),它會將所有的模型數據加載至Assimp 的通用數據結構中.當Assimp 加載完模型之后,我們就能夠從Assimp 的數據結構中提取我們所需的所有數據了.由于Assimp 的數據結構保持不變,不論導入的是什么種類的文件格式,它都能夠將我們從這些不同的文件格式中抽象出來,用同一種方式訪問我們需要的數據.

1.4 FFmpeg 庫

FFMPEG 是一個集成了各種編解碼器的庫,可以說是一個全能型的工具,從視頻采集、視頻編碼到視頻傳輸(包括RTP、RTCP、RTMP、RTSP 等等協議)都可以直接使用FFmpeg 來完成,更重要的一點FFmpeg是跨平臺的,Windows、Linux、Android、IOS 這些主流系統都支持.

2 智能煉鐵配料系統分析與設計

智能煉鐵配料系統具體工作流程為讀入煉鐵基準案例,輸入各種原料用量的約束條件,通過線性規劃建立標準型公式,再通過單純形法求得成本最優解.

2.1 煉鐵案例設計

智能煉鐵配料系統將各種礦石數據庫數據、副料數據庫數據、燒結配礦參數、高爐配料和操作參數、勻礦配比、副料配比全部集成在一個自定義格式的文本文件中,用自定義格式的文本文件作為煉鐵優化的基本案例,通過讀入基準案例即可獲得工程人員所需要的所有數據.煉鐵基準案例包含十三張表格,數據文件由以下幾個部分組成:

(1)表頭:表頭一般會以圖1形式給出.

圖1 表頭格式

(2)GUI 頁面標簽:以“#>”開頭,在建立頁面時,根據其內容確定頁面的標題.典型的頁面標簽行如下所示:“#>燒結礦粉數據庫”.

(3)關鍵字:options 關鍵字不寫入GUI 頁面,用來分隔數據類型,但在寫文件時,該關鍵字需要寫入.

(4)注釋行:以“#”開頭,且“#”后面不帶“>”號,注釋行內容不寫入GUI 頁面,但在寫文件時,應該寫回.

(5)數據庫表頭行:緊跟數據標簽行后的第一個非說明行,數據庫表頭行以逗號分隔,例如:“類別,代碼,單價,平均粒度,H2O,全鐵,二氧化硅,氧化鈣,三氧化二鋁,氧化鎂,二氧化鈦,氧化錳,五氧化二磷,氧化亞鐵”.

(6)數據庫數據區:每行數據段的不同數據以逗號分隔,數據可以為空,其對應的GUI 表格應寫入符合“-”,在寫回文件時,應寫入表格中的“-”而不是空字符.

(7)操作參數區:操作參數區緊跟在關鍵字options后面.操作參數的數據格式為數據名=數據內容.在將數據寫入GUI 頁面時,以=為分隔,=左邊數據寫入第一列.數據內容可以是單個數據,也可以是多個數據,用逗號分隔.

2.2 線性規劃模型建立

建立燒結礦優化配料模型的步驟為:

(1)確定決策變量.以第i種原料的配量作為決策變量xi,i=1,2,···n,n為原料的種類數量.

(2)確定目標函數.以燒結礦成本最低為目標,構成的目標函數為:minz=∑ci×xi,i=1,2,···n.其中,ci為第i中原料的價格,xi為第i種原料的配量,n為原料的種類數量[8].

(3)確定約束條件.根據必要的燒結工藝性能要求、燒結礦質量要求及原料資源量等建立約束條件如下:

1)成分條件約束

根據燒結礦成分的限制范圍上下限建立約束方程,燒結礦配料中溶劑的堿度要大于1.8,若其堿度低于1.8 則會阻礙鐵酸鈣系形成固結相,從而影響到燒結礦的質量.燒結礦需要較高的鐵品位,TFe 的比例需要大于等于60%,SiO2小于等于4.5%[9].根據現場生產需要,確定了燒結礦主要控制的化學成分有:TFe、SiO2、CaO、Al2O3、MgO、TiO2、P2O5.構成的公式為:

2)配比約束

由于現實狀況下礦粉資源的限制,某些超過實際礦粉配比需求的計算結果是無用的,因此加入礦石配比約束,更加符合實際情況,使得配礦結果更準確.

3)平衡約束

由于各種原料在煉鐵過程中存在損失的情況,不同的原料燒損情況不一,但各種原料在燒結后的燒成比之和應等于1.構成公式為:1= ∑(1-燒損i)×xi,i=1,2,···,n.其中燒損i為不同原料燒損比,xi為第i種原料的配量.

2.3 單純形法求解

線性規劃建立的模型為非標準型公式,首先需要將非標準型公式轉換成為標準型公式,轉換標準如下:

(1)目標函數極小化轉換為極大化.minz= -max(-z),一個數的極小化等價于其相反數的極大化.

(2)不等式約束的轉換

∑aijxj≤bi,加入松弛變量;

∑aijxj≥bi,減去剩余變量.

(3)非正變量:即xk≤0,則令x'k=-xk;

自由變量:即xk無約束,則令xk=x'k-x"k.

引入松弛變量,用單純形法求解.單純形法是一個迭代過程,它是從線性規劃問題的一個基本可行解轉移到另一個基本可行解而目標函數值不增加的過程(對于求最小值問題),如果存在最優解,此過程將持續到求得最優解為止[10].

3 智能煉鐵配料系統實現與測試

基于Qt5.9,使用Mingw 編譯器編譯實現Windows和Linux 雙平臺的智能煉鐵配料系統,實現了成本最低、多重約束條件的多目標優化配料和多元化展示煉鐵結果的功能.當用戶讀入煉鐵過程分析案例后,根據展示在界面上的各種配料的數據庫數據,方便的選擇需要選取的配料,再根據實際需要設定約束條件,即可根據設定求得成本最低的配料方案,可以為工程人員提供理論參考.

3.1 煉鐵數據的管理

為了簡化操作流程,方便操作人員快速上手,本系統自定義了煉鐵所需數據的基準案例,具體定義的基準案例格式在煉鐵案例設計中已經介紹過,這里就不再贅述.對于煉鐵數據的管理主要有以下幾個部分:

(1)讀入數據.對于煉鐵數據的讀入就是基于基準案例設計的格式將每一種配料和需要修改的部分數據解析為需要的數據格式,通過QTableView 類的函數以表格的形式展示在GUI 上,這樣可以做到一次性將需要選擇的配料和需要修改的操作表格展示給用戶.

(2)更新數據.對于煉鐵數據中數據庫的更新則是將CSV 格式的各種配料數據提取到系統中,再對獲得的數據格式進行轉換,進而替換掉展示在GUI 上對應配料的表格數據,最后對當前操作的基準案例文件進行保存操作則可以實現對當前煉鐵案例的更新.

(3)操作數據.對于煉鐵數據在表格上的插入、刪除、基本計算、復制、粘貼等操作,通過Qt 特有的信號與槽機制實現表格數據的刷新.對于操作數據的撤銷和恢復,通過重寫QUndoCommand 中的undo 和redo 函數實現.

讀入煉鐵數據后的效果如圖2所示,當前煉鐵基準案列共有十三張表.

圖2 讀入基準案例

3.2 煉鐵方案優化的實現與測試

煉鐵配料的優化主要是根據用戶選定的礦種和配料以及對于燒結礦化學成分和工藝條件的約束,以成本最低為導向輸出配料方案.實現的基本流程如下:

(1)獲取所需數據.用戶讀入煉鐵案例后,在勻礦配比和副料配比頁面選擇需要的所有原料,并在燒結配料優化頁面設置約束條件的上下限,最后將選擇的原料的數據和所有約束條件的數據儲存為QStandard ItemModel 類型數據.

(2)建立線性規劃的標準型公式.根據線性規劃建模的方法將獲取的數據進行轉換,進而將建立好的公式以圖3格式輸出到文本文件中,具體的轉換方法在線性規劃模型建立和單純形法求解中已介紹過.文件中第一行包含了自變量和約束變量的個數,第二行為目標函數自變量前的系數,接下來的所有行包含了對應約束的自變量前的系數和約束<=號右邊的數值.

(3)獲得最低成本配料方案.讀取線性規劃公式文件中的數據,將數據以矩陣的形式存儲,按照單純形法求解的方法變換矩陣,進而獲得最低成本配料方案.

(4)驗證單純形法正確性.根據建立的數學模型文件中的數據,將其采用Lingo 語言輸入到Lingo 軟件中,通過Lingo 軟件求得線性規劃的結果.將智能煉鐵配料系統求得的結果和Lingo 軟件求得的結果進行對比后證明對于該數學模型的計算無誤.

燒結配料優化頁面如圖4所示,其中左上方為優化配料結果,左下方為燒結礦化學成分的約束,右側為選擇的礦種和配料.

圖3 線性規劃公式文件

圖4 燒結配料優化

3.3 煉鐵數據的二維展示

智能煉鐵配料系統可以根據提供的煉鐵數據按照一定的函數關系繪制精美的折線圖和柱狀圖,煉鐵數據的格式為CSV 格式.繪制曲線需要用到一個用Qt開發的開源的第三方工具QCustomPlot,將QCustom Plot 移植到開發的系統中,調用QCustomPlot 相關的類就可以繪制出精美的曲線.用戶可以根據需要設定x軸和y軸的數據源以及對圖形樣式進行設置,繪制圖線的效果如圖5和圖6所示.

圖5 折線圖

圖6 柱狀圖

3.4 高爐數模的二維展示

智能煉鐵配料系統可以對高爐數模的結果進行二維圖片的展示和動畫的播放,動畫播放效果如圖7所示.傳統的多媒體文件解碼方式有any chat,gstreamer,FFmpeg,ffdshow,vfw 和directshow 等,由于FFmpeg的功能強大和編解碼速度較高,目前得到了普遍的應用[11].除此之外,因為系統需要能夠在Windows 和Linux雙平臺下運行,所以采用了在Linux 下開發可用來采集和轉換數字音視頻并將其轉換為流暢的FFmpeg.高爐數模動畫的播放需要在系統中加入Windows 環境和Linux 環境下編譯出來的FFmepg 庫,利用FFmpeg解碼和Qt 顯示的基本流程可以分為如下幾步:

(1)注冊所支持的所有文件(容器)格式及其對應的CODEC.函數av_register_all( )將獲得的FFmpeg支持的編碼器、解碼器以及混合器的相關信息以鏈式結構存放在內存中.

(2)打開視頻文件.函數avformat_open_input()通過解析多媒體文件或流的頭信息及其他的輔助數據,能夠獲取足夠多的關于文件、流和CODEC 的信息,并將這些信息填充到AVFormatContext 結構體中.

(3)從文件中提取視頻流信息.首先利用函數av_find_stream_info( )將文件中的流信息提取出來,再循環判斷提取出的流信息,找到類型為MEDIA_TYPE_VIDEO 的視頻流,進而通過avcodec_find_decoder( )函數查找視頻流相對應的解碼器.

(4)獲取圖像.根據視頻流信息中的codec_id 找到相應的解碼器,通過函數avcodec_open2()函數打開解碼器,利用函數av_frame_alloc( )為解碼幀分配內存,并通過av_read_frame()函數從流數據中一幀一幀的提取數據,進而通過函數avcodec_decode_video2()對視頻幀進行解碼,這樣就獲得了YUV420 格式的圖像數據.

(5)顯示圖像.對于圖像的顯示需要利用Qt 的控件來實現,首先需要將解碼之后的YUV 數據轉換成RGB32 格式的數據,同時將轉換后的RGB32 數據存入QImage 對象中,在主線程中通過Qpainter 直接繪制.

(6)解碼完成,釋放解碼器,關閉視頻文件.

3.5 高爐數模的三維動態展示

智能煉鐵配料系統可以加載STL、OBJ 等多種常見格式的三維模型,并可對加載后的模型進行放大、縮小、還原、移動、旋轉等操作.OpenGL 即開放性圖形庫,是一個三維的計算機圖形和模型庫.OpenGL 適用于多種硬件平臺及操作系統,用戶用這個圖形庫不僅能方便的制作出有極高質量的靜止三維彩色圖像,還能創建出高質量的動畫效果[12].由于在Qt5.5 以上的版本已經集成了OpenGL,本系統直接利用Qt 封裝好的OpengGL 庫.由于不同種類的文件格式有很多,它們之間通常并沒有一個通用的結構,因此需要利用一個非常流行的模型導入庫Assimp.Assimp 能夠導入很多種不同的模型文件格式,它會將所有的模型數據加載至Assimp 的通用數據結構中,進而將這些數據轉換為OpenGL 能夠理解的格式.利用Assimp 解析模型文件和OpenGL 展示的基本流程分為以下幾步:

圖7 高爐流動動畫

(1)創建OpenGL 窗口.虛函數initializeGL()中自定義初始化視口的大小、背景、平滑、深度緩存等參數.

(2)構造并且編譯著色器.著色器是使用一種叫GLSL 的類C 語言寫成的.GLSL 是為圖形計算量身定制的,它包含一些針對向量和矩陣操作的有用特性.本系統編寫了一個頂點著色器和一個片段著色器,用來對模型文件網格進行渲染.頂點著色器主要功能為對場景中的物體進行矩陣變換,將物體的位置信息轉換為屏幕位置;片段著色器主要功能為計算每個片段的顏色值,對每個片段進行著色.

(3)提取模型文件網格.網格代表的是單個可繪制的實體,一個模型文件包含一個或多個網格.首先聲明一個importer 對象,調用它的ReadFile()函數獲得assimp 中的數據結構—scene 對象.scene 對象中的節點符合遞歸結構,每個節點包含一個網格集合的索引,每個索引指向一個場景中特定的網格位置.遞歸遍歷場景節點,檢查每個節點的網格索引以獲取相應的網格并將網格對象存儲起來.

(4)將assimp 提取的網格對象轉換為自己定義的網格對象.訪問提取出來的網格對象的相關屬性,包括所有的頂點數據、網格索引和相關的材質數據,將這些數據儲存在三個vector 中,并將其構建一個自定義的網格對象.

(5)三維模型移動、旋轉、放大和縮小的實現.OpenGL 本身沒有攝像機的概念,本系統通過把場景中的所有物體往相反方向移動的方式模擬出攝像機,產生一種物體在移動的感覺,而不是場景在移動.首先初始化一個攝像機對象,即定義一個攝像機位置,一個目標位置和一個表示世界空間中的上向量的向量.接著利用GLM (OpenGL Mathematics)庫創建一個LookAt矩陣,將該矩陣當作觀察矩陣.對物體進行移動,構造模型矩陣變換攝像機位置向量;對物體的旋轉,通過鼠標移動獲得偏航角和俯仰角,再計算出真正的方向向量,進而變換目標位置向量;對物體的縮放,根據滾輪獲得參數,調用glm::perspective 函數去將透視投影矩陣上傳到GPU,達到放縮視野的目的.

(6)繪制模型到窗口.遍歷存儲的自定義的網格對象,通過函數glBindVertexArray 綁定VAO (Vertex Array Object),再利用函數glDrawArrays 繪制當前網格,最后函數glBindVertexArray 解除綁定.

圖8 高爐模型加載

4 結束語

現在國內煉鐵行業同質化競爭現象越來越嚴重,低煉鐵成本變得尤為重要.基于寶鋼中央研究院的需求合作研發的智能煉鐵配料系統,其具備跨平臺,操作簡單,降低煉鐵成本,多元化的輔助功能等特點,可以滿足工程人員對于煉鐵優化系統的需求,為實際生產提供理論依據和技術支持.

猜你喜歡
模型系統
一半模型
Smartflower POP 一體式光伏系統
工業設計(2022年8期)2022-09-09 07:43:20
WJ-700無人機系統
ZC系列無人機遙感系統
北京測繪(2020年12期)2020-12-29 01:33:58
重要模型『一線三等角』
重尾非線性自回歸模型自加權M-估計的漸近分布
基于PowerPC+FPGA顯示系統
半沸制皂系統(下)
連通與提升系統的最后一塊拼圖 Audiolab 傲立 M-DAC mini
3D打印中的模型分割與打包
主站蜘蛛池模板: 精品夜恋影院亚洲欧洲| 国产精品va免费视频| 欧美成人一级| 欧美激情首页| 成人字幕网视频在线观看| 自慰高潮喷白浆在线观看| 国产日韩丝袜一二三区| 成人国产精品一级毛片天堂| 91久久偷偷做嫩草影院| 国产精品亚欧美一区二区| 国产午夜小视频| 欧美日韩一区二区三区在线视频| 免费人成网站在线观看欧美| 国产一级裸网站| 精品国产99久久| 久久精品一卡日本电影 | 亚洲第一综合天堂另类专| 亚洲中文精品人人永久免费| 中文字幕一区二区人妻电影| 中文字幕在线欧美| 国产成人综合久久精品下载| 青青草原国产精品啪啪视频| 国产99精品视频| 国产亚洲精品自在线| 中日韩一区二区三区中文免费视频| 狠狠色丁香婷婷综合| 国产精品永久免费嫩草研究院| 中日韩欧亚无码视频| 国产69精品久久| 欧美高清三区| 国产极品粉嫩小泬免费看| 日韩国产一区二区三区无码| 黄色网页在线观看| 日韩一二三区视频精品| 国产永久在线视频| 午夜小视频在线| 欧美成人在线免费| 天天综合色网| 国产午夜不卡| 91小视频在线观看免费版高清| 国产精品亚洲一区二区在线观看| 在线a网站| 亚洲成网777777国产精品| 亚洲一区第一页| 欧美在线视频不卡第一页| 99re热精品视频中文字幕不卡| 三区在线视频| 国产成人凹凸视频在线| 中文国产成人久久精品小说| 久久综合色天堂av| 欧美成人二区| 91香蕉视频下载网站| 欧美成人国产| 尤物在线观看乱码| 欧美亚洲另类在线观看| 日韩国产综合精选| 欧洲日本亚洲中文字幕| 99久久无色码中文字幕| 国产无码精品在线播放| 欧美a√在线| 理论片一区| 免费无遮挡AV| 亚洲成人一区二区| 99精品高清在线播放| 欧美日韩另类在线| 久久亚洲高清国产| AV不卡在线永久免费观看| a色毛片免费视频| 欧美成人二区| 国产自视频| 四虎在线高清无码| 国产精品大白天新婚身材| 亚洲全网成人资源在线观看| 日韩黄色在线| 亚洲精品日产AⅤ| 精品国产一二三区| 亚洲欧洲一区二区三区| 71pao成人国产永久免费视频| 久久www视频| 手机在线看片不卡中文字幕| 中文字幕永久在线看| 天堂亚洲网|