0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

基于GPU 的并行模擬退火算法調度應用

智能制造IMS ? 來源:智能制造IMS ? 2023-05-24 10:05 ? 次閱讀

作者:翟昌宇,李德禎,劉博(上海船舶電子設備研究所)

引言

智能制造是“中國制造2025”的主攻方向,是人工智能技術深度融入制造業(yè)的產物。越來越多的制造型企業(yè),通過引入人工智能技術和智能化管理手段,逐步實現精益化管理以及企業(yè)資源最優(yōu)化配置。生產調度是生產管理活動的指揮中心,伴隨著數字化、網絡化、信息化廣泛而深入的普及和應用,智能化、精益化的生產調度, 也就是智能調度將會更合理地安排生產工序,縮短產品生產周期,成為企業(yè)增強核心競爭力的主要途徑。智能調度指利用人工智能技術,依靠具備自主感知、自主決策、自主控制和自主學習能力的智能化設備,結合大數據、云計算物聯(lián)網技術,對人員、設備、任務、物料、工裝和物流等進行動態(tài)調度,提出最佳的調度方案。

生產調度是一種組合優(yōu)化問題,它沒有有效的多項式時間算法,被證明是一種多項式復雜程度的非確定性問題(Non-deterministic Polynomial,NP)。1982 年, Kirkpatrick 等人將固體模擬退火思想引入組合優(yōu)化領域, 提出一種用于解大規(guī)模組合優(yōu)化問題的模擬退火算法。1992 年,Peter J.M 第一次提出采用模擬退火算法來求解作業(yè)車間調度問題,近年來不斷涌現出各種改進算法用于解決車間調度問題。

傳統(tǒng)模擬退火算法存在收斂速度慢和求解質量低等問題,很難直接將其嵌入現代化制造企業(yè)的生產過程執(zhí)行系統(tǒng)(Manufacturing Execution System,MES),有必要優(yōu)化設計一種高效的模擬退火算法,使其可以在運行MES 的硬件平臺上,實時完成生產任務的智能調度?;?a href="http://www.wenjunhu.com/tags/gpu/" target="_blank">GPU 的異構系統(tǒng)成為現階段高性能計算體系的一種主流設計方法,與同時期的中央處理器(Central Processing Unit, CPU)相比,GPU 具備高度并行、多線程等特點,其主要用途由圖形渲染已經過渡到通用計算方面。

模擬退火算法

模擬退火算法來源于對固體退火過程的模擬,是一種基于概率的算法。在實際求解運算過程中,模擬退火算法從某個初始解和控制參數出發(fā),求得給定控制參數值時相對最優(yōu)解,然后減小控制參數t,對當前解重復持續(xù)“產生新解- 判斷- 接受/ 舍棄”迭代過程,每經過這一過程就執(zhí)行了一次蒙特卡羅(Monte-Carlo)算法。隨著控制參數t 趨于零,算法終止最終求解得到組合優(yōu)化問題的整體最優(yōu)解。

模擬退火算法主要計算步驟:初始化參數,給定初始溫度和終止溫度;計算目標值增量1c54cf9c-f40d-11ed-90ce-dac502259ad0.png;通過轉移概率Pt 確定是否接受從當前解i 到新解j 的轉移。?

1c6a7702-f40d-11ed-90ce-dac502259ad0.png

生產調度模型

生產調度工作要以生產計劃為主線開展,通過監(jiān)控感知設備實時掌握生產計劃執(zhí)行情況,能夠及時快速地發(fā)現生產線出現的偏差,并采取有效地應對調度策略, 以減少生產過程等待時間。通過對企業(yè)資源及生產任務的合理配置和優(yōu)化,保證生產過程順利高效運行,發(fā)揮最大生產效率,創(chuàng)造更大企業(yè)價值。

在采用模擬退火算法解決生產調度問題之前,首先建立生產調度問題數學模型。本課題生產調度問題可抽象為一條生產線由m 臺機器組成,經過多道工序加工n 個工件,且工序的順序是不變的。調度算法為各工件分配在各機器上的加工時間,使某些性能達到最優(yōu)。假設有n 項相互獨立的任務T1,…,Tn,由m 臺機械設備完成各項任務的m 道工序。

定義:M 為機器編碼矩陣,mi,j 是任務Ti 的第j 道工序所用的機器編號,即1cab379c-f40d-11ed-90ce-dac502259ad0.png1cb8b35e-f40d-11ed-90ce-dac502259ad0.png。T 為工序時間矩陣,ti,j 為作業(yè)Ti 的第j 道工序所需時間,即ti,j ∈ T,其中1cd18e60-f40d-11ed-90ce-dac502259ad0.png

本文從機器、時間以及工序等方面進行約束,并對生產調度問題做出以下假設:

1)按照特定工序加工,只有當一道工序結束之后方可進入下一道工序;

2)各工序時間可控,根據設計需求選擇對應加工速度;

3)同一時刻,一臺設備只能加工一個工件;

4)不可多臺設備同時加工一個工件;

5)開始加工后不能中斷,直至完成一個工件加工;

6)不考慮工件送往加工設備的運輸時間。

生產調度的目標是通過優(yōu)化各項任務在機器上的加工順序,使得m 臺機器上的n 項任務在完成時間盡量接近或等于最小值,即找對n 項任務的一個調度,使完成所有任務的時間f (n,m) 最短。

即求解

1ce59f0e-f40d-11ed-90ce-dac502259ad0.png

,其中j=1,2,...m。

面向智能調度的并行模擬退火算法

產品生產調度時,根據設備、人員、任務以及生產線情況,通過智能調度算法對每種產品進行生產排序, 為每一個子批選擇合適的加工設備,同時確定該子批開始加工時間。通過對各加工設備和開始工作時間的最優(yōu)調度,最終使得完成生產任務所需要的加工時間最短。

基于模擬退火算法的生產調度,從確定問題的目標函數開始,再將初始解代入目標函數,在控制降溫系數遞減過程中,重復進行“產生新解- 判斷- 接受/ 舍棄” 的迭代過程,相當于執(zhí)行了一次Monte-Carlo 算法過程, 隨著控制參數趨于零時,得到最優(yōu)智能調度方案,算法流程如圖1 所示。

1d018228-f40d-11ed-90ce-dac502259ad0.png

基于模擬退火算法的智能調度問題數學模型如下:

1)解空間。一次調度即是一個正數集1d1ea88a-f40d-11ed-90ce-dac502259ad0.png, 其中1 ≤ iw ≤ n,1 ≤ w ≤ m×n,n 是任務數,m 是工序數。

2) 目標函數。調度問題是要使各機械設備完成n 項任務所用時間ti,j 之和最大值為最小, 即需求1d41791e-f40d-11ed-90ce-dac502259ad0.png, 其中;j=1,2,...,m;,ti,j 可根據一次調度1d59c5dc-f40d-11ed-90ce-dac502259ad0.png查表確定。易證其最小值對應于1d6848a0-f40d-11ed-90ce-dac502259ad0.png的最小值。

所以目標函數定義為

1d875704-f40d-11ed-90ce-dac502259ad0.png

3)新解的產生。對完成任務先后順序進行調整, 即集合1d1ea88a-f40d-11ed-90ce-dac502259ad0.png中元素重新排列,形成新的調度1db449e4-f40d-11ed-90ce-dac502259ad0.png,其中1dc178b2-f40d-11ed-90ce-dac502259ad0.png,n 是任務數, m 是工序數。

4)目標差函數。由目標函數可得,伴隨于新解的目標函數差為

1dd867fc-f40d-11ed-90ce-dac502259ad0.png

5)接受準則。

1df69e0c-f40d-11ed-90ce-dac502259ad0.png

6)并行策略。本文建立的模擬退火算法并行計算模型分為任務級并行、數據級并行和線程級并行。采用兩塊圖形存儲器分別參與機器編碼矩陣M 和工序時間矩陣T 的存儲和運算。線程級并行是根據模擬退火算法的數學模型,結合圖形處理器并行計算的硬件特點,將數值計算以及邏輯判斷映射到圖形處理器細粒度并發(fā)線程的具體實現過程。

仿真結果

本課題設計的智能調度算法能夠適用于多品種機器零件的加工任務,目的是通過并行模擬退火算法求解得到最優(yōu)調度方案。下面以鋁合金薄壁耐壓殼體加工過程為例,來驗證算法的應用效果。鋁合金薄壁耐壓殼體加工一般需要經過配料、粗車、熱處理、精車、銑床和鉗床工藝流程,是6 道相互獨立的工序。假定本課題有5 個不同規(guī)格的鋁合金薄壁耐壓殼體需要加工,生產線上有6 臺工藝設備,不考慮各工序之間的等待時間。仿真時采用的硬件平臺CPU 為Intel i5-8300,GPU 為Nvidia Tesla C2050,軟件平臺為Matlab2013,CUDA8.0。選取模擬退火初始溫度為1 000℃,終止溫度為0.001℃,循環(huán)迭代次數為2 000,降溫系數為0.98,回火迭代系數為0.15,馬爾科夫鏈長度為260。

定義機器編碼矩陣M 和工序時間矩陣T:

1e31f06a-f40d-11ed-90ce-dac502259ad0.png

式中:矩陣T 的單位為min。

當對一個解進行解碼后,根據每個機器上所對應作業(yè)工序的先后順序,確定同一機器上各作業(yè)對應工序的先后順序,再根據每項作業(yè)工序之間先后的關系及作業(yè)時間,計算出每臺機器上進行各項作業(yè)相關工序的開始時間和完工時間。仿真結果:得到最優(yōu)粒子為[4 4 5 3 1 3 2 5 1 2 4 5 3 5 2 3 4 4 5 2 1 1 2 3 5 2 3 1 1 4],最大完工時間為45min。仿真得到的最優(yōu)調度方案如圖2 所示,圖中進度條下方的標注數字,前者表示任務序號,后者表示工序順序。

1e482f38-f40d-11ed-90ce-dac502259ad0.png

采用本文提出的并行模擬退火算法運行1 000 次求解最優(yōu)粒子,算法平均運行時間為3.43 s;采用傳統(tǒng)模擬退火算法運行1 000 次求解最優(yōu)粒子,算法平均運行時間為25.27 s。通過OpenMP+CUDA 的多任務調度機制,對多個串并行計算任務進行粗粒度的任務分割與調度,提高了任務間的并行率,從而使得模擬退火算法計算效率得到較大提升,使算法在執(zhí)行數秒后返回一個近似最優(yōu)解, 即通過基于GPU 的并行模擬退火算法使可實時完成生產調度問題的解算。

結論

生產調度問題在實際生產中具有廣泛的應用,是計算機集成制造系統(tǒng)中的一個關鍵環(huán)節(jié)。智能調度是制造系統(tǒng)運行優(yōu)化的核心,通過智能調度能逐漸降低制造企業(yè)的生產成本,提升排產效果,提高經濟價值。本文在分析模擬退火算法的基礎上,將基于GPU 的并行模擬退火算法用于解決生產調度問題。通過仿真試驗,實現了不同任務的智能化生產排序,并為每道工序選擇最優(yōu)的加工機器。該算法思路清晰、原理簡單,證實了該算法解決生產調度問題的有效性,同時該算法具有較高的運行效率,有望應用于MES 中實時完成生產任務的智能調度。

為確保智能調度算法在實際生產系統(tǒng)中取得更好效果,考慮下一步將重點圍繞以下兩方面繼續(xù)開展研究:

1)優(yōu)化目標函數,目前的研究成果在解決車間調度問題時,所要優(yōu)化的目標基本都是最大完工時間最小化, 這僅僅是企業(yè)關注的一項指標,實際需求還需要考慮到工時偏差、零件報廢等問題。因此,未來在對車間調度問題的研究中,可以考慮更傾向于多目標優(yōu)化。

2)改進模擬退火算法,傳統(tǒng)模擬算法由于前期遍歷解空間范圍有限,導致過早收斂不能得到全局最優(yōu)解。通過改進Monte-Carlo 準則,使算法具備跳出局部極值能力和避免參數敏感、過早收斂的問題。

3)借助大數據、云計算和物聯(lián)網技術發(fā)展,通過信息化手段將企業(yè)ERP 系統(tǒng)、MES、知識管理及IT 資源等整合互聯(lián),實現數據信息和計算能力的共享,更好地適應企業(yè)多業(yè)務融合、協(xié)同高效的智能調度需求。

編輯:黃飛

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 云計算
    +關注

    關注

    39

    文章

    7846

    瀏覽量

    137622
  • gpu
    gpu
    +關注

    關注

    28

    文章

    4761

    瀏覽量

    129144
  • 物聯(lián)網

    關注

    2911

    文章

    44840

    瀏覽量

    375250
  • 智能制造
    +關注

    關注

    48

    文章

    5596

    瀏覽量

    76420

原文標題:上海船舶電子設備研究所:并行模擬退火算法在智能調度中的應用

文章出處:【微信號:CADCAM_beijing,微信公眾號:智能制造IMS】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    模擬退火算法學習

    模擬退火算法學習
    發(fā)表于 06-16 11:02

    基于模擬退火結合粒子群算法介紹

    【優(yōu)化選址】基于模擬退火結合粒子群算法求解分布式電源定容選址問題matlab源碼1 算法介紹1.1 模擬退火算法1.2 粒子群
    發(fā)表于 12-29 07:04

    基于模擬退火結合粒子群算法分析

    【優(yōu)化選址】基于模擬退火結合粒子群算法求解分布式電源定容選址問題matlab源碼1 算法介紹1.1 模擬退火算法1.2 粒子群
    發(fā)表于 01-03 06:41

    基于模擬退火結合粒子群算法相關資料分享

    【優(yōu)化選址】基于模擬退火結合粒子群算法求解分布式電源定容選址問題matlab源碼1 算法介紹1.1 模擬退火算法1.2 粒子群
    發(fā)表于 01-03 07:58

    基于模擬退火策略的逆向蟻群算法

    為克服現有蟻群算法運算過程中收斂速度慢,易出現停滯現象等缺點,提出了一種結合模擬退火策略的改進算法。利用向原始蟻群中引入逆向螞蟻,并結合模擬退火思想確定蟻群
    發(fā)表于 06-25 13:36 ?32次下載

    基于模擬退火遺傳算法的多項目調度問題研究

    針對多資源約束條件下的多項目調度問題,提出了一種模擬退火遺傳算法的求解方法。該方法首先分別對普通的遺傳算法模擬退火
    發(fā)表于 12-22 12:04 ?18次下載

    基于模擬退火和遺傳算法的任務調度研究

    分析了網格任務的調度模型,采用了模擬退火和遺傳算法作為調度策略,通過自識別交叉和變異算子在遺傳算法中抑制“早熟收斂”,利用
    發(fā)表于 01-27 11:48 ?14次下載

    基于序列對和模擬退火算法的布局問題研究

    結合布局問題的具體特點,采用序列對來間接描述布局問題的解結構,并且在模擬退火算法的基礎上對布局問題的優(yōu)化算法進行了研究,綜合構成了一種有效求解布局問題的模擬退火
    發(fā)表于 02-22 15:47 ?16次下載

    基于模擬退火算法的數字巖心建模方法

    簡要介紹了模擬退火算法,給出了用于建立數字巖心的三個重要參考函數:孔隙度、兩點概率函數和線性路徑函數L詳細闡述了基于模擬退火算法建立數字巖心的理論方法,介紹了
    發(fā)表于 03-30 17:34 ?30次下載

    模擬退火算法及其在求解TSP中的應用

    模擬退火算法及其在求解TSP中的應用,下來看看
    發(fā)表于 07-20 16:51 ?28次下載

    模擬退火算法程序

    模擬退火算法程序,有需要的朋友可以下來看看
    發(fā)表于 07-20 16:51 ?15次下載

    云工作流任務調度模擬退火遺傳改進算法

    云工作流任務調度模擬退火遺傳改進算法_黃婷婷
    發(fā)表于 01-03 17:41 ?1次下載

    基于模擬退火算法改進的BP神經網絡算法

    基于模擬退火算法改進的BP神經網絡算法_周愛武
    發(fā)表于 01-03 17:41 ?0次下載

    改進模擬退火與粒子群混合算法

    效率低的缺點,對搜索策略和概率性的劣向轉移作出了改進,并將改進后的模擬退火思想引入粒子群優(yōu)化算法中,使結合后的算法結合了粒子群并行計算的特點和模擬退
    發(fā)表于 11-30 17:25 ?1次下載
    改進<b class='flag-5'>模擬退火</b>與粒子群混合<b class='flag-5'>算法</b>

    基于模擬退火的DPR系統(tǒng)劃分-調度聯(lián)合優(yōu)化算法

    的重構區(qū)域劃分和任務調度決定了整個系統(tǒng)的性能,因此如何對DPR系統(tǒng)的邏輯資源劃分和調度問題進行建模,并設計高效的求解算法是保證系統(tǒng)性能的關鍵。在建立劃分和調度模型的基礎上,設計了基于
    發(fā)表于 05-13 10:39 ?5次下載