【车间调度】NSGA-2算法求解多目标车间调度问题【含Matlab源码 071期】

⛄一、车间调度简介

1 作业车间调度问题描述
作业车间调度问题(Job Shop Scheduling, JSP)是最经典的几个NP-hard问题之一。其应用领域极其广泛,涉及航母调度,机场飞机调度,港口码头货船调度,汽车加工流水线等。
JSP问题描述:一个加工系统有M台机器,要求加工N个作业,其中,作业i包含工序数为Li。令,则L为任务集的总工序数。其中,各工序的加工时间已确定,并且每个作业必须按照工序的先后顺序加工。调度的任务是安排所有作业的加工调度排序,约束条件被满足的同时,使性能指标得到优化。
作业车间调度需要考虑如下约束:
Cons1:每道工序在指定的机器上加工,且必须在其前一道工序加工完成后才能开始加工;
Cons2:某一时刻1台机器只能加工1个作业;
Cons3:每个作业只能在1台机器上加工1次;
Cons4:各作业的工序顺序和加工时间已知,不随加工排序的改变而改变。
2 问题实例
下面给出作业车间调度问题的一个实例,其中每个工序上标注有一对数值(m,p),其中,m表示当前工序必须在第m台机器上进行加工,p表示第m台机器加工当前工序所需要的加工时间。(注:机器和作业的编号从0开始)
jop0=[(0,3),(1,2),(2,2)]
jop1=[(0,2),(2,1),(1,4)]
jop2=[(1,4),(2,3)]
在这个例子中,作业jop0有3道工序:它的第1道工序上标

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
NS-II(Non-dominated Sorting Genetic Algorithm II)是一种经典的多目标优化算法,它可以用于求解多项目调度问题(Multi-Project Scheduling Problem,MPSP)。 在MPSP中,有多个项目需要被调度,每个项目有多个任务(或活动),每个任务有不同的执行时间和资源需求。任务之间存在先后顺序限制,即某些任务必须在另一些任务完成后才能开始执行。MPSP的目标是找到一个满足所有约束条件的调度方案,使得项目的总完成时间最小。 NSGA-II算法的基本思想是通过遗传算法的方式来搜索解空间,并利用非支配排序和拥挤度距离来维护种群中的多个非支配解集。具体来说,NSGA-II算法的基本步骤如下: 1. 初始化一个种群,其中每个个体都是一个任务的调度方案。 2. 对种群中的个体按照非支配排序进行排序,得到多个非支配解集。 3. 对每个非支配解集进行拥挤度距离计算,以保证解集的多样性。 4. 将所有非支配解集中的个体进行交叉、变异等遗传算子操作,生成新的子代种群。 5. 重复步骤2-4,直到达到预设的停止准则(如达到最大迭代次数)。 NSGA-II算法求解MPSP的最优解是一组调度方案,其中每个调度方案是一组任务的执行顺序和开始时间。这组调度方案应该满足所有项目的约束条件,并且使得项目的总完成时间最小。因为NSGA-II算法是一种多目标优化算法,所以它可以找到一组最优解,其中每个解都在不同的目标维度上具有最优性。在MPSP中,可能存在多个最优解,每个最优解都对应着一组不同的调度方案。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Matlab领域

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值