当前位置: 首页 > news >正文

2022年TASE SCI2区,学习灰狼算法LGWO+随机柔性车间调度,深度解析+性能实测

目录

    • 1.摘要
    • 2.术语
    • 3.随机柔性车间调度
    • 4.问题模型
    • 5.LGWO算法
    • 6.结果展示
    • 7.参考文献
    • 8.代码获取
    • 9.算法辅导·应用定制·读者交流


1.摘要

本研究针对半导体制造环境中的具有受限额外资源和设备相关设置时间的随机柔性作业车间调度问题,这一问题属于NP-难问题。为了在合理的时间内获得可靠且高性能的调度结果,本文提出了一种基于学习的灰狼算法(LGWO)。LGWO设计了一种基于最优计算预算分配(OCBA)的方法,适用于两个来自实际制造环境的情境,用来实现计算资源的智能分配并提高搜索效率,该方法在理论上扩展了最优计算预算分配的应用领域。为了在迭代过程中获得合适的控制参数,本文引入了一种具有新设计延迟更新策略的强化学习算法,用于构建灰狼算法的参数调优机制,该机制能够有效平衡全局搜索与局部搜索之间的关系,从而提升算法性能。

2.术语

术语

3.随机柔性车间调度

经典的作业车间调度问题(JSP)作为一种NP难题,要求将n个作业分配到m台机器上进行处理,并最大化性能。每个作业包含多个操作,这些操作需要按照特定的顺序完成。其推广形式为FJSP,其中多台机器可以处理作业。进一步的推广是随机版本,其中作业或机器的处理时间/设置时间通过随机分布描述,而不是固定的数值。原因在于许多工业过程中,系统可能会出现不可控的干扰,如机器故障、装卸时间变化和设备性能不稳定。

本研究提出了一种基于学习灰狼算法(LGWO),结合了强化学习(RL)和最优计算预算分配(OCBA),有效且高效地解决我们所考虑的问题。

4.问题模型

本文构建了一个混合整数规划模型。,假设所有作业和机器在初始时刻均可用,且一旦某个工序开始加工,中途不得中断。目标函数为最小化期望完工时间:
M i n i m i z e E [ C max ⁡ ] \mathrm{Minimize~E}[C_{\max}] Minimize E[Cmax]

其中, N M N_M NM为每个个体基本采样次数,通过蒙特卡罗采样计算得到:
E ⁡ [ C max ⁡ ] = 1 N M ∑ y = 1 N M C max ⁡ ( y ) \operatorname{E}[C_{\max}]=\frac{1}{N_M}\sum_{y=1}^{N_M}C_{\max}(y) E[Cmax]=NM1y=1NMCmax(y)
C max ⁡ ( y ) = max ⁡ i = 1 , ⋯ , n , u = 1 , ⋯ , O i , k = 1 , ⋯ , m t i , u , k c ( y ) C_{\max}(y)=\max_{i=1,\cdots,n,u=1,\cdots,O_{i},k=1,\cdots,m}t_{i,u,k}^{c}(y) Cmax(y)=i=1,,n,u=1,,Oi,k=1,,mmaxti,u,kc(y)

其中, C m a x ( y ) C_{max}(y) Cmax(y)为第 y y y次模拟的最大跨度。操作分配约束:
∑ k ∈ E i , u x i , u , k = 1 , x i , u , k ∈ { 0 , 1 } i = 1 , ⋯ , n , u = 1 , ⋯ , N ˚ i \sum_{k\in\mathbf{E}_{i,u}x_{i,u,k}}=1,x_{i,u,k}\in\{0,1\}i=1,\cdots,n,u=1,\cdots,\mathring{N}_{i} kEi,uxi,u,k=1,xi,u,k{0,1}i=1,,n,u=1,,N˚i

不确定处理时间约束:
大量柔性作业车间调度问题(FJSPs)的统计结果表明,加工时间通常服从伽马分布或正态分布。Muralidhar 等人建议使用给定的平均加工时间 t i , u , k p t_{i,u,k}^p ti,u,kp和参数 θ \theta θ,来生成第 y y y次采样下的加工时间 t i , u , k g ( y ) t_{i,u,k}^g(y) ti,u,kg(y),其表达为:
t i , u , k g ( y ) ∼ G a m m a ( α i , u , k , β ) t_{i,u,k}^g(y)\sim\mathrm{Gamma}(\alpha_{i,u,k},\beta) ti,u,kg(y)Gamma(αi,u,k,β)
加工时间约束决定了第 y y y次采样中工序 O i , u O_{i,u} Oi,u完成时间:
[ t i , u , k b ( y ) + t i , u , k g ( y ) ] x i , u , k = t i , u , k c ( y ) x i , u , k [t_{i,u,k}^b(y)+t_{i,u,k}^g(y)]x_{i,u,k}=t_{i,u,k}^c(y)x_{i,u,k} [ti,u,kb(y)+ti,u,kg(y)]xi,u,k=ti,u,kc(y)xi,u,k

机器相关的设置时间限制:

为了维护不同操作的时间表,作业需要切换到下一台机器。如果一个作业的操作及其后续操作在不同的机器上处理,则需要设置时间。

t i , u + 1 , k b ≥ t i , u , k ′ c + t k ′ , k s t^{b}_{i,u+1,k} \geq t^{c}_{i,u,k'} + t^{s}_{k',k} ti,u+1,kbti,u,kc+tk,ks
τ i , u , j , c , k + τ j , c , i , u , k = x i , u , k x j , c , k \tau_{i,u,j,c,k} + \tau_{j,c,i,u,k} = x_{i,u,k} x_{j,c,k} τi,u,j,c,k+τj,c,i,u,k=xi,u,kxj,c,k

机器容量限制:

t i , u , k b ≥ t j , c , k c − D ( 1 − τ i , u , j , c , k ) t_{i,u,k}^b\geq t_{j,c,k}^c-\mathrm{D}(1-\tau_{i,u,j,c,k}) ti,u,kbtj,c,kcD(1τi,u,j,c,k)

有限的额外资源约束:
∑ k = 1 m η ( k , T ) ⋅ R k ( y ) ≤ R , ∀ T \sum_{k=1}^m\eta_{(k,T)}\cdot\mathbf{R}_k(y)\leq\mathbf{R},\forall T k=1mη(k,T)Rk(y)R,T

5.LGWO算法

LGWO伪代码

采用双段编码向量作为编码器,该向量由机器分配向量和操作顺序向量两部分组成。两个向量的长度均等于操作数,并使用区间 [ 0 , 1 ] [0,1] [0,1]内的正实数作为编码值。

OCBA的目标函数为:
max ⁡ N 1 , ⋯ , N N p 1 − ∑ h = 1 , h ≠ ∗ N p P { J ~ ∗ > J ~ u } , \max_{N_1,\cdots,N_{N_p}}1-\sum_{h=1,h\neq*}^{N_p}\mathbb{P}\{\tilde{J}^*>\tilde{J}_u\}, N1,,NNpmax1h=1,h=NpP{J~>J~u},
s . t . ∑ h = 1 N p I h ≤ I T , h = 1 , ⋯ , N p \mathrm{s.t.}\sum_{h=1}^{N_p}I_h\leq I_T,\quad h=1,\cdots,N_p s.t.h=1NpIhIT,h=1,,Np

OCBAP伪代码

在操作前使用RL离线训练参数调优方案。应用强化学习建立参数调优方案的三个重要问题是状态表示、动作构造和奖励函数定义。状态向量需要描述个体的主要特征并跟踪个体的变化:
s = { E t , D t D 0 , V t V 0 , U t U 0 , t N C } T \mathbf{s}=\left\{E^t,\frac{D^t}{D^0},\frac{V^t}{V^0},\frac{U^t}{U^0},\frac{t}{N_C}\right\}^T s={Et,D0Dt,V0Vt,U0Ut,NCt}T

奖励函数:
r ( s , a ) = ∣ ∑ h = 1 N p ψ ( h , a ) N p − ω ∣ r(\mathbf{s},a)=\left|\sum_{h=1}^{N_p}\frac{\psi_{(h,a)}}{N_p}-\omega\right| r(s,a)= h=1NpNpψ(h,a)ω
ψ ( h , a ) = { 1 , f ( x h , a ) − f ( x h ) < 0 0 , f ( x h , a ) − f ( x h ) ≥ 0 \psi_{(h,a)}= \begin{cases} 1, & f(\mathbf{x}_h,a)-f(\mathbf{x}_h)<0 \\ 0, & f(\mathbf{x}_h,a)-f(\mathbf{x}_h)\geq0 & \end{cases} ψ(h,a)={1,0,f(xh,a)f(xh)<0f(xh,a)f(xh)0

具有延迟更新策略更新:
Q ( s , a ) ← Q ( s , a ) + β ⋅ [ r ( s , a ) + γ ⋅ max ⁡ Q ( s ′ , a ′ ) − Q ( s , a ) ] \begin{aligned} \mathbf{Q}(\mathbf{s},a) & \leftarrow\mathbf{Q}(\mathbf{s},a) \\ & +\beta\cdot[r(\mathbf{s},a)+\gamma\cdot\max\mathbf{Q}(\mathbf{s}^{\prime},a^{\prime})-\mathbf{Q}(\mathbf{s},a)] \end{aligned} Q(s,a)Q(s,a)+β[r(s,a)+γmaxQ(s,a)Q(s,a)]

6.结果展示

7.参考文献

[1] Lin C, Cao Z, Zhou M C. Learning-based grey wolf optimizer for stochastic flexible job shop scheduling[J]. IEEE Transactions on Automation Science and Engineering, 2022, 19(4): 3659-3671.

8.代码获取

xx

9.算法辅导·应用定制·读者交流

相关文章:

  • 关于MySql深分页的问题及优化方案
  • 25年春招:携程java开发一面
  • 华为OD机试_2025 B卷_计算最大乘积(Python,100分)(附详细解题思路)
  • 第28节 Node.js 文件系统
  • C++ 引用
  • 【推荐算法课程一】推荐算法介绍-深度学习算法
  • 预测性去匿名化攻击(PDAA):重塑数据安全攻防边界
  • Redis核心数据结构详解与应用
  • 手搓transformer
  • day22
  • Python----神经网络发(神经网络发展历程)
  • Ubuntu系统Docker安装失败问题解决办法
  • 在Vue2项目中引入ElementUI详细步骤
  • 【论文阅读32】预期寿命预测(2024)
  • 用于在多个远程计算机上求解的 Ansoft RSM 设置 - Windows
  • 关于使用EasyExcel、 Vue3实现导入导出功能
  • SpringCloud + MybatisPlus:多租户模式与实现
  • 《网络安全与防护》知识点复习
  • Linux安装C语言环境教程
  • C# net8生成excel,并设置列规则导出文件
  • 做网站不错的公司/网络推广怎样做
  • 网站推广策划公司/互联网营销师考试内容
  • 刷赞网站空间免费/福州百度快速优化排名
  • 做康复医院网站/在线域名ip查询
  • 旅游投资公司网站建设/关键词查询爱站网
  • 今日合肥发现一例/优化推广seo