2025年ESWA SCI1區TOP,強化學習多目標灰狼算法MOGWO-RL+分布式混合流水車間調度,深度解析+性能實測

目錄

    • 1.摘要
    • 2.問題描述和數學建模
    • 3.強化學習多目標灰狼算法MOGWO-RL
    • 4.結果展示
    • 5.參考文獻
    • 6.算法輔導·應用定制·讀者交流


1.摘要

本文針對大規模個性化制造(MPM)中的調度問題,提出了一種新的解決方案。MPM能夠在確保大規模生產的前提下,實現個性化定制,但由于制造任務類型和數量的快速變化,調度難度大大增加。為此,本文提出了分布式混合流車間調度問題(DHFSP-OMTA),通過將異質客戶訂單分解為標準和個性化生產任務,并將其分配到不同工廠來應對這一挑戰。為了解決MPM中的調度問題,本文構建了一個混合整數線性規劃模型,旨在同時最小化完工時間和總能耗。在此基礎上,針對DHFSP-OMTA的高復雜性,設計了一種基于強化學習多目標灰狼算法(MOGWO-RL)。MOGWO-RL采用變量任務分割方法,結合兩種初始啟發式規則,以產生高質量的種群;設計了基于強化學習變量鄰域搜索方法,提升了搜索質量,并有效避免了陷入局部最優解;提出了高效的批次合并方法,以減少運輸過程中的能耗。

2.問題描述和數學建模

DHFSP-OMTA的整個流程可分為三個主要階段:生產、運輸和裝配。如圖所示,該系統包括多個生產工廠和一個裝配工廠。每個生產工廠配備有一組并行機器,并按指定位置排列。在生產階段,訂單被模塊化分解為多個生產任務,每個任務包含若干批次,任務需分配到不同的生產工廠進行處理。完成的批次將在運輸階段轉移到裝配工廠,后者擁有多個可進行裝配的工作站。在裝配階段,每個批次只能分配給一個工作站進行裝配。

在整個過程中,生產、工作功率和運輸功率等信息都是預先已知的,機器的空閑能耗不被考慮。DHFSP-OMTA中的任務分配主要包括以下幾個方面:(1)批次數量;(2)工廠分配;(3)任務分割;(4)批次順序。這些任務分配對于實現高效調度和優化能耗至關重要。

Description of DHFSP-OMTA

數學模型

參數定義

本文目標是最小化最大完工時間,最小化總能耗。

訂單模塊化和任務分配方法

OMTA方法包含兩個主要階段:消費者訂單的模塊化處理和任務分配到不同工廠,目標是通過模塊化處理將消費者訂單轉化為生產任務。因此,需要建立關聯矩陣并量化每種關系強度,該關聯矩陣包括三個關鍵指標:結構關聯、加工關聯和運輸關聯。結構關聯衡量零件之間的結構相似度,結構尺寸相似的零件更可能歸為同一生產任務;加工關聯衡量零件之間的工藝相似度,工藝相似的零件更可能共享相同的加工設備、工具和夾具;運輸關聯衡量兩零件之間的運輸時間要求,同一批次中運輸并在同一工作站組裝的零件更易歸為同一生產任務。

權重系數分別為wsw_sws?wpw_pwp?wtw_twt?,假設所有消費者訂單包含NNN個零件。

在任務分配階段,消費者訂單被轉化為具體的生產任務。為了提升DHFSP的制造靈活性,這些任務被分配到標準工廠和個性化工廠,其中少量任務被分配給個性化工廠,以幫助標準工廠減少換工具和設置時間。為了合理分配任務,首先需要計算任務的工作小時數,并與工廠的工作小時能力進行對比。

在此過程中,所有訂單首先形成一個集合OM,SOR表示訂單的總數量。通過訂單模塊化處理后,任務按工作小時數從小到大排序。根據任務的標準或個性化屬性以及工廠的工作小時能力,將任務分配給相應的工廠。最后使用變量分割方法將任務拆分為多個批次。

當消費者訂單到達企業時,它們會立即被處理為生產任務,隨后執行調度計劃。為了清晰地解釋任務分配和任務的變量拆分,表中包含3個加工工廠和2個工作站,S/P分別表示標準工廠和個性化工廠,以及1個裝配工廠和1個工作站。通過比較圖(a)和(b),任務分配能夠將一小部分個性化任務分配給特定工廠。

An example of task assigning and splitting: (a) without tasks splitting; (b) tasks splitting.

3.強化學習多目標灰狼算法MOGWO-RL

編碼與解碼

An example of encoding

在編碼過程中,四個一維向量用于表示解決方案,包括批次數量、任務分配、每個批次的大小和批次順序。數量向量(NV)表示批次數量,基因的取值范圍為[1, 2, 3]。工廠向量(FV)表示任務分配的工廠類型,個性化任務用P表示,標準任務則用[1, Fs]表示,其中Fs為標準工廠數量。大小向量(SV)表示每個批次的大小,采用變量任務拆分方法,批次數量不超過3,最大批次為任務總數的90%,最小批次為10%。SV的基因采用一個小數表示不同批次之間數量的比例。

An example of decoding

在解碼過程中,計算每個批次的大小并按照OV向量對各工廠的加工順序進行排序。任務的工廠分配依據FV向量的值,最終的完工時間由裝配工作站的完成時間確定。

SJij=?tsi?yij∑yij?,SJij∈IiSJ_{ij}=\left\lfloor ts_{i}\bullet\frac{y_{ij}}{\sum y_{ij}}\right\rfloor,SJ_{ij}\in I_{i} SJij?=?tsi??yij?yij???,SJij?Ii?

初始化策略

本文提出了兩種初始啟發式規則——任務分配和任務拆分,用于初始化工廠向量(FV)和大小向量(SV)。任務分配通過滿負荷和順序規則將任務分配給不同工廠,確保任務合理分配;任務拆分結合等分拆分和變量拆分規則,以增加SV的多樣性。此外,批次數量和批次順序采用隨機規則,進一步提升初始種群的多樣性。

捕獵策略

調度問題屬于離散問題,因此MOGWO捕獵策略需要進行重新設計。在每次迭代的捕獵操作中,www狼會選擇與三位領導者之一進行交叉,用來探索解空間。

μit+1={cross(μit,μαt),ifrand<13cross(μit,μβt),if13≤rand<23cross(μit,μγt),otherwise\left.\mu_{i}^{t+1}= \begin{cases} cross(\mu_{i}^{t},\mu_{\alpha}^{t}),ifrand<\frac{1}{3} \\ cross\left(\mu_{i}^{t},\mu_{\beta}^{t}\right),if\frac{1}{3}\leq rand<\frac{2}{3} \\ cross\left(\mu_{i}^{t},\mu_{\gamma}^{t}\right),otherwise & \end{cases}\right. μit+1?=????cross(μit?,μαt?),ifrand<31?cross(μit?,μβt?),if31?rand<32?cross(μit?,μγt?),otherwise??

基于強化學習的可變鄰域搜索

An example of the initial Q-table

為了提高MOGWO的性能,本文設計了基于強化學習的可變鄰域搜索方法,該方法通過四種鄰域算子優化解:交換關鍵工廠任務(V1)、調整批次大小(V2)、調整任務順序(V3)和改變批次大小(V4)。強化學習用于自動選擇最佳操作,避免陷入局部最優解,并通過IGD和HV評估搜索的收斂性和多樣性。

批次合并策略

DHFSP-OMTA中的TEC包括工作站和運輸能耗,而流車間的工作站能耗難以降低。通過提出的批次合并策略(MBS)在不增加完成時間的情況下優化TEC。通過在運輸過程中合并裝配階段有時間沖突的批次,可以減少運輸能耗,同時保持完成時間不變。

An example of merging batches strategy: (a) without MBS; (b) MBS

Framework of MOGWO-RL

4.結果展示

論文結果

5.參考文獻

[1] Chen X, Li Y, Wang L, et al. Multi-objective grey wolf optimizer based on reinforcement learning for distributed hybrid flowshop scheduling towards mass personalized manufacturing[J]. Expert Systems with Applications, 2025, 264: 125866.

6.算法輔導·應用定制·讀者交流

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/diannao/94095.shtml
繁體地址,請注明出處:http://hk.pswp.cn/diannao/94095.shtml
英文地址,請注明出處:http://en.pswp.cn/diannao/94095.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

Mac 系統下安裝 nvm

Mac 系統下安裝 nvm nvm 全稱為 node version manger&#xff0c;顧名思義就是管理 node 版本的一個工具&#xff0c;通過這個工具&#xff0c;我們可以在一臺計算機上安裝多個版本的 node&#xff0c;并且隨時進行無縫的切換。 1. 卸載原本的 node.js&#xff08;重要&#xf…

變量篩選—隨機森林特征重要性

對于接觸算法模型不久的小伙伴來說,建模中海量變量篩選總是讓人頭疼,不知道如何把握。之前已經介紹了一些變量篩選的方法:變量篩選一張圖、【變量篩選】計算類別型變量IV值、KS值、一文囊括風控建模中的變量篩選方法、變量篩選—特征包含信息量。本文詳細介紹通過隨機森林算…

【設計模式】 3.設計模式基本原則

單一職責原則 對于一個類而言&#xff0c;有且僅有一個引起他變化的原因或者說&#xff0c;一個類只負責一個職責 如果一個類承擔的職責過多&#xff0c;那么這些職責放在一起耦合度太高了&#xff0c;一個職責的變化可能會影響這個類其他職責的能力。 所以我們在做軟件設計的時…

ABP VNext + Redis Bloom Filter:大規模緩存穿透防護與請求去重

ABP VNext Redis Bloom Filter&#xff1a;大規模緩存穿透防護與請求去重 &#x1f680; &#x1f4da; 目錄ABP VNext Redis Bloom Filter&#xff1a;大規模緩存穿透防護與請求去重 &#x1f680;TL;DR ?1. 引言 &#x1f389;2. 環境與依賴 &#x1f6e0;?3. Bloom Filt…

構建工具和腳手架:從源碼到dist

構建工具和腳手架&#xff1a;從源碼到dist**1. 為什么需要工程轉換&#xff1f;****2. 構建工具的核心職責**為什么要求轉換**1&#xff09;明確三種關鍵問題****&#xff08;2&#xff09;Webpack 的打包機制****3. 開發服務器&#xff08;Webpack Dev Server&#xff09;***…

數字化生產管理系統設計

下面提供一個基于Python的數字化管理系統框架&#xff0c;使用現代技術棧實現。這個系統將包含設備監控、故障管理、裝配配套表生成、生產計劃管理等功能。系統架構數字化生產管理系統 ├── 設備監控模塊 ├── 故障管理模塊 ├── 產品裝配管理模塊 ├── 生產計劃管理模…

【vue】創建響應式數據ref和reactive的區別

目錄 1、所謂響應式數據 2、ref創建基本類型響應式數據 3、reactive創建對象類型響應式數據 4、ref定義對象類型響應式數據 5、總結&#xff1a;ref和reactive對比 6、補充&#xff1a;toRefs與toRef 1、所謂響應式數據 所謂響應式數據就是&#xff0c;在vue頁面中&#…

YOLO12 改進、魔改|直方圖 Transformerm模塊HTB ,通過動態范圍特征分組、針對性注意力與多尺度融合,提高對遮擋以及多尺度目標的關注能力

在惡劣天氣&#xff08;如雨、雪、霧&#xff09;下的圖像恢復任務中&#xff0c;傳統 Transformer 模型為降低計算量&#xff0c;常將自注意力限制在固定空間范圍或僅在通道維度操作&#xff0c;導致難以捕捉長距離空間特征&#xff0c;尤其無法有效處理天氣退化像素&#xff…

涉水救援機器人cad【12張】三維圖+設計書明說

涉水救援機器人設計 摘 要 隨著城市化進度的加快&#xff0c;各種水上游樂設備的增多&#xff0c;水上災害和溺水事件頻繁發生&#xff0c;水上救援任務困難重重&#xff0c;特別是在一些水流湍急的環境下進行救援。傳統的水上救援工作比較緩慢&#xff0c;大多數是通過投射救…

電子病歷:現代HIS系統不可或缺的核心組成部分

一、電子病歷在 HIS 系統中扮演了一個什么角色?電子病歷在醫院信息系統&#xff08;HIS&#xff09;中扮演著核心、基礎且不可替代的角色&#xff0c;可以說是整個HIS系統的臨床信息中樞和業務驅動引擎。它的重要性體現在以下幾個方面&#xff1a;1、臨床診療活動的核心載體&a…

【深度學習】通俗易懂的基礎知識:指數加權平均

一、什么是指數加權平均&#xff1f; 指數在數學中表示一個數的冪次運算&#xff08;如a?中的n&#xff09;&#xff0c;而在統計學中特指隨時間變化的幾何衰減系數&#xff0c;加權指對不同數據賦予不同權重&#xff0c;使重要數據對結果產生更大影響。指數加權平均指是一種時…

c++-list

C-list std::list是C標準模板庫(STL)提供的雙向鏈表容器&#xff0c;它提供了高效的插入和刪除操作&#xff0c;特別適合頻繁修改的序列。定義在 <list> 頭文件中&#xff0c;屬于 std 命名空間。該類的接口與常規容器接口基本一致。 模板原型&#xff1a; template <…

【筆試真題】2024秋招京東后端開發崗位-第一批筆試

31.牛牛與切割機 有一個序列 a1,a2,...,ana_1,a_2,...,a_na1?,a2?,...,an? &#xff0c; 牛牛將對這個序列切割一刀&#xff08;劃分分成兩個不相交的非空序列&#xff0c;一個序列為 a1,...,apa_1,...,a_pa1?,...,ap?&#xff0c;另一個序列為 ap1,...,ana_{p1},...,a_na…

【整數轉羅馬數字】

思路計算數字的位數&#xff1a; 通過 while(x) 循環計算輸入數字 num 的位數 n。提取各位數字&#xff1a; 將數字 num 的每一位分解并存儲到 nums 數組中&#xff0c;順序為從高位到低位。羅馬數字映射&#xff1a; 使用固定數組 Roman 存儲羅馬數字符號&#xff1a;Roman {…

spring Scheduled注解詳解

spirng Scheduled注解詳解 用于標記需要安排執行的方法的注解。必須指定 cron、fixedDelay 或 fixedRate 中的恰好一個屬性。 被標注的方法必須不接受任何參數。它通常會具有 void 類型的返回值&#xff1b;如果不是這樣&#xff0c;那么在通過調度器調用該方法時&#xff0c;返…

新升級超值型系列32位單片機MM32G0005

靈動微推出的新型MM32G0005系列基于ArmCortex - M0內核&#xff0c;具備高可靠性、低功耗、高性價比等特性。Flash升級至64KB&#xff0c;SRAM為4KB&#xff0c;還有1KB Data Flash。Flash全溫擦寫次數超過10萬次。采用24Pin封裝&#xff0c;最多有22個IO。QFN20和TSSOP20封裝與…

Spark SQL 的詳細介紹

Spark SQL 是 Apache Spark 生態系統中用于處理結構化數據的模塊&#xff0c;它將 SQL 查詢與 Spark 的分布式計算能力相結合&#xff0c;提供了一種高效、靈活的方式來處理結構化和半結構化數據。以下是對 Spark SQL 的詳細介紹&#xff1a;1. 核心定位與優勢結構化數據處理&a…

【FreeRTOS】空閑任務與鉤子函數原理、實現與功能詳解

一、FreeRTOS空閑任務概述FreeRTOS中的空閑任務(Idle Task)是系統自動創建的一個特殊任務&#xff0c;具有最低優先級(優先級0)。當沒有其他更高優先級的任務運行時&#xff0c;調度器就會運行空閑任務。空閑任務的主要功能系統資源回收&#xff1a;自動清理被刪除任務的內存和…

imx6ull-驅動開發篇6——Linux 設備樹語法

目錄 前言 設備樹 設備樹概念 DTS、 DTB 和 DTC DTS 語法 .dtsi 頭文件 設備節點 /根節點?? 節點命名與標簽 節點層次結構? 屬性數據類型? 標準屬性 compatible 屬性 model 屬性 status 屬性 #address-cells 和#size-cells 屬性 reg 屬性 ranges 屬性 n…

ansible簡單playbook劇本例子2

1. 準備主機組[rootansible-master ansible_quickstart]# vim inventory/hosts[web:vars] ansible_port22 ansible_passwordAdmin123456[web] 192.168.100.1822.準備劇本 vim hello.yml--- - hosts: webremote_user: roottasks:- name: Ping the target hostsping:- name: 獲取…