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
主站蜘蛛池模板: 91亚洲影院| 婷婷六月综合网| 国产一在线观看| 亚洲成aⅴ人片在线影院八| 亚洲欧美成人在线视频| 中文字幕久久波多野结衣 | 嫩草国产在线| 免费jjzz在在线播放国产| 国产丰满成熟女性性满足视频| 亚洲无码91视频| 久久久91人妻无码精品蜜桃HD| 狼友视频一区二区三区| 精品无码国产一区二区三区AV| 亚洲成人高清在线观看| 国产SUV精品一区二区6| 高清视频一区| av一区二区三区高清久久| 久久大香伊蕉在人线观看热2| 四虎成人在线视频| 毛片基地视频| 色网在线视频| 一级成人a做片免费| 亚洲性一区| 久久亚洲天堂| 亚洲欧美自拍视频| 国产在线91在线电影| 国产日韩欧美视频| 午夜电影在线观看国产1区| 日本欧美视频在线观看| 97无码免费人妻超级碰碰碰| 日韩久草视频| 国产精品偷伦在线观看| 免费在线视频a| 国产午夜人做人免费视频| 成人免费视频一区| 国产在线八区| 91精品国产无线乱码在线| 国内精品自在欧美一区| 亚洲第一成年网| 亚洲区视频在线观看| 伊人久久综在合线亚洲91| 72种姿势欧美久久久久大黄蕉| 亚洲人成色在线观看| 久久精品国产999大香线焦| 毛片久久久| 国产乱子伦无码精品小说 | yjizz视频最新网站在线| 亚洲无码免费黄色网址| 国产精品片在线观看手机版| 无码AV高清毛片中国一级毛片| 久久香蕉国产线| 亚洲欧美另类中文字幕| 四虎国产精品永久一区| AⅤ色综合久久天堂AV色综合| 色香蕉网站| 亚洲欧美另类中文字幕| 色偷偷一区| 亚洲成人免费在线| 国产精品香蕉| 国产一级毛片网站| 亚洲熟妇AV日韩熟妇在线| 日本一本正道综合久久dvd| 乱系列中文字幕在线视频| 亚洲国产精品VA在线看黑人| 亚洲精品欧美日本中文字幕| 亚洲中文字幕久久精品无码一区| 亚洲精品色AV无码看| 国产免费高清无需播放器| 日本午夜精品一本在线观看| 中文字幕在线看视频一区二区三区| 99久久无色码中文字幕| 91精品国产福利| 国产精品v欧美| 一本无码在线观看| 婷婷开心中文字幕| 2020最新国产精品视频| 女人18毛片一级毛片在线 | 久久精品无码中文字幕| 国产在线麻豆波多野结衣| 人妻出轨无码中文一区二区| 性视频久久| 国产麻豆aⅴ精品无码|