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

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

基于GPU 的并行模擬退火算法調(diào)度應(yīng)用

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

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

引言

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

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

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

模擬退火算法

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

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

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

生產(chǎn)調(diào)度模型

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

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

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

本文從機(jī)器、時(shí)間以及工序等方面進(jìn)行約束,并對(duì)生產(chǎn)調(diào)度問題做出以下假設(shè):

1)按照特定工序加工,只有當(dāng)一道工序結(jié)束之后方可進(jìn)入下一道工序;

2)各工序時(shí)間可控,根據(jù)設(shè)計(jì)需求選擇對(duì)應(yīng)加工速度;

3)同一時(shí)刻,一臺(tái)設(shè)備只能加工一個(gè)工件;

4)不可多臺(tái)設(shè)備同時(shí)加工一個(gè)工件;

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

6)不考慮工件送往加工設(shè)備的運(yùn)輸時(shí)間。

生產(chǎn)調(diào)度的目標(biāo)是通過優(yōu)化各項(xiàng)任務(wù)在機(jī)器上的加工順序,使得m 臺(tái)機(jī)器上的n 項(xiàng)任務(wù)在完成時(shí)間盡量接近或等于最小值,即找對(duì)n 項(xiàng)任務(wù)的一個(gè)調(diào)度,使完成所有任務(wù)的時(shí)間f (n,m) 最短。

即求解

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

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

面向智能調(diào)度的并行模擬退火算法

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

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

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

基于模擬退火算法的智能調(diào)度問題數(shù)學(xué)模型如下:

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

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

所以目標(biāo)函數(shù)定義為

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

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

4)目標(biāo)差函數(shù)。由目標(biāo)函數(shù)可得,伴隨于新解的目標(biāo)函數(shù)差為

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

5)接受準(zhǔn)則。

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

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

仿真結(jié)果

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

定義機(jī)器編碼矩陣M 和工序時(shí)間矩陣T:

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

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

當(dāng)對(duì)一個(gè)解進(jìn)行解碼后,根據(jù)每個(gè)機(jī)器上所對(duì)應(yīng)作業(yè)工序的先后順序,確定同一機(jī)器上各作業(yè)對(duì)應(yīng)工序的先后順序,再根據(jù)每項(xiàng)作業(yè)工序之間先后的關(guān)系及作業(yè)時(shí)間,計(jì)算出每臺(tái)機(jī)器上進(jìn)行各項(xiàng)作業(yè)相關(guān)工序的開始時(shí)間和完工時(shí)間。仿真結(jié)果:得到最優(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],最大完工時(shí)間為45min。仿真得到的最優(yōu)調(diào)度方案如圖2 所示,圖中進(jìn)度條下方的標(biāo)注數(shù)字,前者表示任務(wù)序號(hào),后者表示工序順序。

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

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

結(jié)論

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

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

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

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

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

編輯:黃飛

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

    關(guān)注

    39

    文章

    7678

    瀏覽量

    137031
  • gpu
    gpu
    +關(guān)注

    關(guān)注

    27

    文章

    4640

    瀏覽量

    128487
  • 物聯(lián)網(wǎng)
    +關(guān)注

    關(guān)注

    2899

    文章

    43822

    瀏覽量

    369345
  • 智能制造
    +關(guān)注

    關(guān)注

    48

    文章

    5410

    瀏覽量

    76197

原文標(biāo)題:上海船舶電子設(shè)備研究所:并行模擬退火算法在智能調(diào)度中的應(yīng)用

文章出處:【微信號(hào):CADCAM_beijing,微信公眾號(hào):智能制造IMS】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    模擬退火算法學(xué)習(xí)

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

    基于模擬退火結(jié)合粒子群算法介紹

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

    基于模擬退火結(jié)合粒子群算法分析

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

    基于模擬退火結(jié)合粒子群算法相關(guān)資料分享

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

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

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

    基于模擬退火遺傳算法的多項(xiàng)目調(diào)度問題研究

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

    基于模擬退火和遺傳算法的任務(wù)調(diào)度研究

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

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

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

    基于模擬退火算法的數(shù)字巖心建模方法

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

    模擬退火算法及其在求解TSP中的應(yīng)用

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

    模擬退火算法程序

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

    云工作流任務(wù)調(diào)度模擬退火遺傳改進(jìn)算法

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

    基于模擬退火算法改進(jìn)的BP神經(jīng)網(wǎng)絡(luò)算法

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

    改進(jìn)模擬退火與粒子群混合算法

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

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

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