柔性作业车间调度(FJSP)

柔性作业车间调度(FJSP)

FJSP可定义为以下情况:

  • 有n个工件且工件之间互不联系,第i个工件表示为 。
  • 每个工件有j个工序,和其他的约束 。
  • 第i个工件的第j道工序用 表示。
  • 可加工工件的加工机器有m个。
  • 对于每一道工序 ,都有一组机器可加工该工序。
  • 在机器k上的每一道工序的加工时间 是给定的。
  • 加工工件在机器上加工时不能被打断。
  • 每一台可加工机器同一时间只能处理一个工件。

柔性作业车间调度(FJSP)_第1张图片目标函数:
min ⁡ f = C max ⁡ \min {\kern 1pt} {\kern 1pt} f = C\max minf=Cmax
约束条件:
s i j + u i j × p i j k ≤ c i j , i = 1 , 2 , … , n ; j = 1 , 2 , … e i ; k = 1 , 2 , … , m {s_{ij}} + {u_{ij}} \times {p_{ijk}} \le {c_{ij}},i = 1,2, \ldots ,n;j = 1,2, \ldots {e_i};k = 1,2, \ldots ,m sij+uij×pijkcij,i=1,2,,n;j=1,2,ei;k=1,2,,m
c i j ≤ s i j + 1 , i = 1 , 2 , … , n ; j = 1 , 2 , … , e i − 1 {c_{ij}} \le {s_{ij + 1}},i = 1,2, \ldots ,n;j = 1,2, \ldots ,{e_i} - 1 cijsij+1,i=1,2,,n;j=1,2,,ei1
c i j ≤ s i j + 1 + L ( 1 − y l h i j + 1 k ) , i = 1 , 2 , … , n ; l = 0 , 1 , … , n , j = 1 , 2 , … , e i − 1 ; h = 1 , 2 , … , e l ; k = 1 , 2 , … , m , \begin{array}{r} {c_{ij}} \le {s_{ij + 1}} + L(1 - {y_{lhij + 1k}}),i = 1,2, \ldots ,n;l = 0,1, \ldots ,n,\\ j = 1,2, \ldots ,{e_i} - 1;h = 1,2, \ldots ,{e_l};k = 1,2, \ldots ,m, \end{array} cijsij+1+L(1ylhij+1k),i=1,2,,n;l=0,1,,n,j=1,2,,ei1;h=1,2,,el;k=1,2,,m,
s i j + p i j k ≤ s l h + L ( 1 − y i j l h k ) , i = 0 , 1 , … , n ; l = 1 , 2 , … , n , j = 1 , 2 , … , e i ; h = 1 , 2 , … , e l ; k = 1 , 2 , … , m , \begin{array}{r} {s_{ij}} + {p_{ijk}} \le {s_{lh}} + L(1 - {y_{ijlhk}}),i = 0,1, \ldots ,n;l = 1,2, \ldots ,n,\\ j = 1,2, \ldots ,{e_i};h = 1,2, \ldots ,{e_l};k = 1,2, \ldots ,m, \end{array} sij+pijkslh+L(1yijlhk),i=0,1,,n;l=1,2,,n,j=1,2,,ei;h=1,2,,el;k=1,2,,m,
∑ k = 1 m u i j k = 1 , \sum\limits_{k = 1}^m {{u_{ijk}}} = 1, k=1muijk=1,
柔性作业车间调度(FJSP)_第2张图片
目标函数将最大完工时间作为优化目标,第一个约束条件和式(第二个约束条件表示为工件工序之间的优先级约束,而第三个约束条件和公式第四个约束条件表示的是每一台加工机器在同一时间只能处理一个工件,第五个约束条件表示的是每一个工件在同一时刻只能在一台机器上加工。

求解单目标与多目标FJSP问题一般可以采用智能算法,如粒子群、遗传、蜂群、MOEA/D、NSGA算法的等。

算了,具体算法和代码有时间再更。

你可能感兴趣的:(Matlab,FJSP,算法,动态规划)