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

基于迷宮尋路算法的大規模筒倉工藝流程 計算的解決方案

2021-04-08 16:52:56林錦暉陳智偉何曉濤
現代食品 2021年4期
關鍵詞:工藝流程設備

◎ 林錦暉,陳智偉,何曉濤

(廣州港集團股份有限公司南沙糧食通用碼頭分公司,廣東 廣州 511462)

1 方案提出背景

廣東省廣州市某散貨碼頭續建二期筒倉工程,建設完成后將擁有淺圓筒倉與立筒倉合計170 余個,倉容合計約900 000 t,筒倉規模十分龐大。整片筒倉區域的工藝設備主要以皮帶輸送機和斗提機為主,其中皮帶輸送機合計將近100 臺次,斗提機合計20 余臺次,各種閘門、犁頭卸料裝置等附屬設備數量眾多,整套工藝系統包含了進倉、出倉、倒倉、裝車和直走等多種工藝類型,設備的繁雜與工藝類型的多樣性必然產生大量的工藝流程。不僅如此,整套工藝系統的交叉工藝點達10 余個之多,而且一些設備擁有正反轉兩種工況,由此產生的工藝流程數量將以成倍遞增,達到一個十分龐大的數字。在此背景下,需要研究一種算法用于解決電氣自動控制系統工藝流程的選擇與生成難題。工藝流程的準確與全面關系到整個電氣自動化控制系統的安全性與穩定性,為此,本文闡述了一種針對工藝流程計算的全新高效的解決方案。解決方案的實現方式有多種,本文主要討論運算思路。

2 算法簡介

迷宮算法的思路:利用0 和1 的矩陣構建一個簡易“迷宮”,如圖1 所示。其中1 表示迷宮里的“墻”,0 表示迷宮里的“路”,破解這一“迷宮”本質上就是要循著0 從入口尋找路徑達到出口。此類“迷宮”一般具有的特點:①“尋路”過程中,相鄰點之間具有絕對的前后對應關系,簡言之就是具有方向性。②每個點向前“走”的方向可能不止一個,換言之就是同時符合需求的路徑可能不止一條。因此,要破解此類“迷宮”的所有路徑,需要注意:①使用堆棧或者指針來進行數據存儲,表征方向性[1]。②走過路徑的點的值置1,避免走重復路徑。③通過原路返回,搜尋其他可能的路徑,直至所有路徑上的點都置1,最終將返回入口點。

圖1 迷宮示意圖

破解“迷宮”所有路徑的思路邏輯如圖2 所示。

以圖1“迷宮”為例,按照圖2 的思維邏輯導圖,整個尋找路徑的完整過程如圖3 所示。由此可以尋找到兩條路徑并生成路徑記錄。

圖2 迷宮“尋路”思維邏輯圖

圖3 過程路徑示意圖

3 工藝流程計算核心算法實現

利用迷宮算法來尋找工藝流程的路徑,首先需要利用工藝設備搭建起工藝流程的“迷宮”。結合上文提到的“迷宮”的特點,可以類比出:搭建工藝流程的“迷宮”需要確定所有設備之間的前后關系。本次案例運用了EXCEL 進行所有工藝設備前后關系的統計,如圖4 所示。所有工藝設備組合產生的前后關系合計1 596 對。

每組前后關系實際上代表著工藝流程的走向,在尋找首、尾設備之間的工藝流程路徑的過程中,為了避免重復尋找同一條路徑,應該對應每組前后關系設置一個標志位(圖中所示的“選中狀態”一列)。此標志位在初始化階段中置0,代表所有前后關系都是可用的,所有路徑都是通路。在尋找工藝流程路徑的過程中,走過的每一組前后關系都置1,作用是避免重復走入同一條路徑,致使程序進入死循環。

圖4 工藝設備前后關系整理圖

每走一步,判斷后設備是否與尾設備相同,相同即表示成功找到一條工藝流程,原路返回繼續尋找其他通路是否存在所需的工藝流程路徑;不同即繼續向后尋找,直到返回至前后關系的前設備等于首設備,代表所有路徑已經找出,工藝流程的生成過程完成,輸出結果。以上可以總結歸納出如圖5 所示的思維邏輯導圖。

應用EXCEL 的開發工具,采用VBA 語言,圖5所展示出來的核心邏輯的程序代碼如下:

Public Sub FlowAdd(ByVal a As String, ByVal n As Integer, ByRef FlowStack() As String)

Dim sht As Worksheet, m As Integer, j As Integer, s As Integer

Set sht = Worksheets(Range(“M4”).Value)

m = Application.WorksheetFunction.CountIfs(Range(“A2:A” & _

Range(“A1048576”).End(xlUp).Row), _

a, Range(“H2:H” & Range(“A1048576”).End(xlUp).Row), 0)

If m = 0 Then ‘判斷此路徑是否走過,判斷此路是否通

If n = 1 Then ‘回到原點說明歷遍過程已完成‘MsgBox “流程設備已生成完畢!”

Else

a = FlowStack(n - 1)

n = n - 1

Call FlowAdd(a, n, FlowStack())

End If

Else

FlowStack(n) = Range(“A” & j) ‘設備編號依次放入數據存儲

Range(“H” & j).Value = 1 ‘走過的路徑賦值1

圖5 工藝流程“尋路”思維邏輯圖

n = n + 1 If Range(“B” & j) = Range(“M3”) Then

‘找到路徑

FlowStack(n) = Range(“B” & j)

s = sht.Range(“A1048576”).

End(xlUp).Row

目前,東營市不少農民合作社都是白手起家,社員數量少,生產規模小,經濟實力較弱,在資金融通、技術引進、設施改造、市場開拓上面臨很大困難,導致帶動輻射能力弱。

For t = 1 To n

sht.Cells(s + 1, t + 5) = FlowStack(t)

sht.Cells(s + 1, 1) = s

sht.Cells(s + 1, 2) = FlowStack(1)

sht.Cells(s + 1, 5) = FlowStack(n) ‘找到路徑并填充

Next

a = FlowStack(n - 1) ‘繼續尋找其他路徑

n = n - 1

Call FlowAdd(a, n, FlowStack())

Exit Sub

Else

a = Range(“B” & j)

Call FlowAdd(a, n, FlowStack()) ‘路徑未走完,繼續向前走

Exit Sub

End If

End If

Next

End If

End Sub

以上核心算法搭配遞歸運算與循環運算,即可同時生成多個首設備與多個尾設備之間的工藝流程,最大限度的提高運算效率。核心循環運算已包含在以上的核心算法里。遞歸運算程序以及一些基本的錯誤判斷,如下所示:

Public Sub FlowCreate()

Application.EnableEvents = False ‘關閉事件響應

Dim i As Integer, a As String, j As Integer, FlowStack() As String, sht1 As Worksheet

a = UCase(Range(“M2”).Value)

ReDim FlowStack(1 To 100)

Set sht1 = Worksheets(Range(“M4”).Value)

For i = 2 To Range(“A1048576”).End(xlUp).Row

Range(“H” & i) = 0 ‘全部路徑賦值0,初始化

Next

If Application.Work sheet Function.CountIf(Range(“A2:A” & Range(“A1048576”).End(xlUp).Row), _

Range(“M2”)) = 0 Or Application.WorksheetFunction.CountIf(Range(“B2:B” & _

Range(“A1048576”).End(xlUp).Row), Range(“M3”)) = 0 Then ‘判斷首尾設備是否合法

MsgBox “設備編號填寫錯誤,請重新填寫!”

Exit Sub

Else

Call FlowAdd(a, 1, FlowStack()) ‘判斷此設備組合合法后傳遞參數,進入遞歸函數

End If

Application.EnableEvents = True ‘打開事件響應End Sub

最終的使用情況如圖6 所示,在首設備列表與尾設備列表里分別設置需要尋找工藝流程路徑的首尾設備,即可進行工藝流程生成運算。

圖6 設置首尾設備圖

以上首尾設備列表對應生成的運算結果如圖7 所示。通過人工校對驗證,工藝流程生成的結果十分準確。

圖7 運算結果示例圖

4 應用效果

在本文的案例中,二期筒倉續建工程完成后,項目的電氣自動控制系統涉及皮帶輸送機合計將近100臺次,斗提機合計20 余臺次,各種閘門、犁頭卸料裝置等附屬設備數量眾多。運用該套解決方案來進行工藝流程的運算與統計,配合人工統計以輔助,成功統計出650 000 余條工藝流程。相對于續建前合計 60 000 余條工藝流程,續建后的工藝流程數量增長了10 倍,該項成果為整套系統的電氣自動化控制打下了穩定的數據基礎。此外,利用該套解決方案針對續建前的工藝設備進行一次工藝流程統計運算,將得出的結果與原工藝流程數據庫進行對比,工藝流程的數量與結果完全一致,進一步驗證了該套算法的準確性。

5 局限性與程序優化

該算法運用了遞歸運算與循環運算來進行多組設備路徑計算與完全路徑計算。在進行大量的工藝流程計算時,可能出現內存溢出的情況導致程序崩潰。為了避免這一情況的出現,需要人工分組規劃好設備組,分批次進行運算。例如,每次只計算單獨一排筒倉的出倉工藝流程,分數次完成整片立筒倉區域的出倉工藝流程計算。

程序的進一步優化,應該考慮根據不同路徑所產生的效率與能耗差別,針對每組前后設備關系設置權重系數,在工藝流程計算時,優先尋找權重系數高的工藝流程路徑,并在生成的結果中進行排序,有利于提高工藝效率與降低作業能耗。

猜你喜歡
工藝流程設備
高考工藝流程題例析
諧響應分析在設備減振中的應用
化工工藝流程題中常涉及的考點
“四步”解答中學化學工藝流程題
基于VB6.0+Access2010開發的設備管理信息系統
基于MPU6050簡單控制設備
電子制作(2018年11期)2018-08-04 03:26:08
500kV輸變電設備運行維護探討
工業設計(2016年12期)2016-04-16 02:52:00
化學工藝流程題:從相識到相知
如何在設備采購中節省成本
原來他們都是可穿戴設備
消費者報道(2014年7期)2014-07-31 11:23:57
主站蜘蛛池模板: 中文字幕人妻无码系列第三区| 国产乱子伦视频在线播放| 国产原创第一页在线观看| 亚洲欧美日韩另类在线一| 色综合综合网| 中文字幕无码av专区久久| 欧美a级完整在线观看| 日韩第九页| 美女国内精品自产拍在线播放| a毛片免费观看| 国产在线一区视频| 伊人丁香五月天久久综合| 国产综合另类小说色区色噜噜 | 亚洲中文在线视频| 无码中文AⅤ在线观看| 欧美激情第一区| 欧美日韩国产高清一区二区三区| 91精品啪在线观看国产60岁 | jizz国产视频| 2021国产乱人伦在线播放| 亚洲天天更新| 国产精品尤物在线| 日韩精品一区二区三区大桥未久 | 秘书高跟黑色丝袜国产91在线| 香蕉eeww99国产精选播放| 国产高清毛片| 中美日韩在线网免费毛片视频| 国产精品亚洲片在线va| 日韩欧美中文在线| 国产呦精品一区二区三区网站| 国产午夜精品一区二区三区软件| 麻豆精品在线播放| 亚洲欧美成aⅴ人在线观看| 国产成本人片免费a∨短片| 国产成年女人特黄特色毛片免| 国模在线视频一区二区三区| 欧美性色综合网| 精品无码人妻一区二区| av在线无码浏览| 亚洲毛片一级带毛片基地| 国产精品久久自在自2021| 77777亚洲午夜久久多人| 香蕉视频国产精品人| 欧洲成人在线观看| 亚洲人成影视在线观看| 国产另类乱子伦精品免费女| 欧美黄网站免费观看| 91久久青青草原精品国产| 欧美日韩资源| 日韩不卡高清视频| 日本三区视频| 久久不卡国产精品无码| 国产成人啪视频一区二区三区 | 色老二精品视频在线观看| 美女国产在线| 无码久看视频| 国产精品午夜电影| 国产精品亚洲专区一区| 久久永久视频| 超清无码熟妇人妻AV在线绿巨人| 91蜜芽尤物福利在线观看| 夜夜拍夜夜爽| 日韩精品亚洲一区中文字幕| 欧美精品影院| 国产另类视频| 青青青亚洲精品国产| 成人午夜精品一级毛片| 嫩草国产在线| 亚洲欧美不卡| 国产精品成人啪精品视频| …亚洲 欧洲 另类 春色| 五月婷婷综合色| 欧美国产日韩在线观看| 色婷婷狠狠干| 欧美日韩精品在线播放| 91破解版在线亚洲| 亚洲乱亚洲乱妇24p| 91麻豆精品国产91久久久久| 国产精品第一区| 亚洲天堂免费| 日韩小视频在线观看| 亚洲无码不卡网|