获取更多资讯,赶快关注上面的公众号吧!

文章目录

  • 作业车间调度vs柔性作业车间调度
  • 深挖柔性作业车间调度
    • 算法层面:
    • 问题层面:
    • 融合层面:
    • 应用层面:
  • 结语

最近一段时间写了一些算法原理相关的文章,也得到了不少粉丝的关注,在这里先谢谢大家了。说到算法,归根结底是要解决问题的,不解决问题的算法,就是皮不在无处依附的毛,就是没有嘴唇被冻坏的牙齿。正好今天也和一位来自南京航空航天大学的“爱学习的好孩子”探讨了一下专业问题,所以也是时候临幸一下这个古老的问题——车间调度问题。

作业车间调度vs柔性作业车间调度

调度问题是在实际工作中广泛应用的运筹学问题,可以定义为“在一定的约束条件下,把有限的资源在时间上分配给若干个任务,以满足或优化一个或多个性能指标”。调度的具体过程简述如下:在约束条件下以具体目标为导向,将特定任务分配给指定资源,并且针对同一资源上的任务进行排序,最终确定每个资源上各项任务的开始时间和结束时间。这类问题在生产作业计划、供应链管理、交通运输、航空航天、体育娱乐、医疗卫生和网络通讯等领域都有大量的应用,调度研究的重要性自然不言而喻。

生产调度问题的研究起源于上世纪50年代,由于该问题具有重要的实用价值,吸引了大量国内外研究人员的关注,而车间调度问题又是生产调度问题中较早出现并被广泛研究的一类问题。

作业车间问题(JSP)可以描述为:车间内有多个工件,每个工件有自己单独的工艺路线,工艺路线中包含多道工序,每道工序只能在一台机床上加工,机床在同一时刻只能加工一个工件,调度的目的是确定每道工序的开始加工时间和结束加工时间,以最优化一个或多个目标性能。

而柔性作业车间调度问题(FJSP)是车间调度问题的更一般情况,每道工序可以有多台机床选择,从而降低工序对资源的竞争,随着车间具有相同功能机床的增加,此类问题的调度问题也越来越突出。

但是大部分调度问题都是NP难问题,对于稍大规模的调度问题,想要在较短时间内得到最优解是非常困难的。

深挖柔性作业车间调度

随着研究人员对柔性作业车间调度问题的广泛研究,加之各种优化算法层出不穷,貌似能想到的点都已经出现在已发表的论文里了,想再在这个领域搞出点什么名堂好像有些难,但是别忘了,剧情往往都是在这开始有反转的,被沙子塞满的杯子还是可以倒点水进去的,个人觉得可以从以下四个层面入手。

算法层面:

第一个方面可以从算法,这是实现创新最直接的方法,这里我从三个角度分析。

  1. 提出一种全新的优化算法,该算法能比随机搜索的平均性能要好,并能给出数学上的收敛性证明,这样的算法已经有很多了,我在第十六章 群体智能优化算法总结中已经总结了群体智能优化,以及后面还要介绍的进化算法。这个角度虽然非常困难,但是一旦有成果就是比较大的成果。

  2. 对现有算法进行改进,使得算法在解决某一特定或某一类问题时变得比标准算法要好,比如张超勇提出了一种专门针对柔性作业车间调度问题的新的编码方式,张国辉改进了遗传算法传统的随机初始化方法,使得算法从较优的一代种群开始搜索。这个角度主要是考虑如何改进算法使其更能和具体的问题相结合;

  3. 混合不同的算法,以集众家之所长,发挥各自的优势,同时平衡算法的探索和利用能力,如遗传算法具有很强的全局搜索能力,可以结合模拟退火、变邻域、禁忌搜索等局部搜索算法,以跳出局部最优。这个角度是最容易想到和实现的,因此这样的论文也就被写烂了。

问题层面:

对于问题层面,主要就是指如何使问题更加符合实际,也就是要考虑更多的约束,否则太过简化的问题,算法得到的调度结果在实际车间中的可行度会非常低。根据我们实验室在航空航天制造车间多年摸索的经验,个人觉得实际要考虑的问题还是比较多的。

  1. 目标维度。车间生产除了要尽快地生产完工件(制造期最短),往往还要求机床利用率要高(利用率),同时又不能相差太大(负载均衡),所以目标之间往往是相互制约的,因此多目标的研究还是要比单目标研究的实际意义大一些的。对于多目标,一个研究的点就是如何去权衡这些冲突目标,目前较为流行的就是pareto支配解集,如果可能看看能不能给出不同的策略,另一个点就是随着绿色制造概念的兴起,制造车间也越来越重视环保相关的指标,因此可以对能耗、排放等也有了衡量,目前这方面的考虑,据我看最新的论文,明显有增多的势头。

  2. 时间维度。静态调度问题是指在调度时假设所有的工件均已就绪,而实际车间中,订单并不是一次性下的,因而投料也就会分不同批次,导致调度更像是对一个连续的过程进行优化,这方面可以考虑工件随机抵达。工厂接收订单后,客户也会修改交货期,交货期的变更也会对现有的生产计划造成很大的影响,这方面可以考虑交货期变更。对于新品生产,工艺往往处于试生产阶段,具有很大的不稳定性,工序加工时间往往取决于操作工人,导致实际加工工时与工时定额出入很大,因此工时不确定的调度也有现实意义。在加工车间中还存在这样的情况,由于两种工件的工艺要求不同,先加工A再加工B,和先加工B再加工A所需要的准备时间差别很大(注:在实际车间中,准备时间有可能37天,而加工时间只需12天,所以准备时间可不能像学术论文中那样忽略不计),所以就有了准备顺序依赖的问题。

  3. 机床维度。从机床角度考虑,最常见的应该就是机床故障,机床故障影响需要在其上加工的工件的开工时间,从而扰乱调度计划,最近开始研究的比较多的是将机床故障建模成一个过程,即不是瞬间故障,而是逐渐老化,在此过程中,机床的加工时间会发生变化,在学术上将这种现象称为恶化效应。现在有部分车间采购的高端机床具有两个或多个工作台,其中一个工作台在加工时,可以在其他闲置的工作台上装夹工件,从而节省准备时间,这就是多工作台调度。

  4. 工艺维度。柔性作业车间调度中每道工序可以有多台机床选择,这里的柔性体现在机床,因为机床功能类似,所有可以加工不同的工序,但其实有时工艺也可以是柔性的,不管按照哪条工艺路线加工,都可以加工出工件,这就是多工艺路线的调度问题。当选定了某一工艺路线并已经按照此路线进行加工,但加工过程中因为某些原因不得不更改工艺路线,这时就要考虑工艺变更对调度造成的影响。还有一种比较特殊的工艺就是装配工艺,其工艺路线是由多条分支并行加串行路径组合而成的,由此得到的调度问题就是装配调度问题,装配调度问题需要额外考虑不同装配件之间的约束关系,目前这方面的文章虽然有但是较少,并且一般都是针对实例进行求解。

  5. 工人维度。工人可能是车间中最不确定的了吧,人的心情也会阴晴圆缺,干活效率也会每天不尽相同(注:这里可能有人会想,都是自动化的数控机床,效率为啥还会受工人影响,这个问题其实比较复杂,以后有时间会针对这个问题单独写一篇文章,这里先透露一下,这个问题制约了我国航空制造业的效率),所以时间维度中的工时不确定很大一部分就是在于此。还有一方面,工人对加工过无数次的工件相当熟悉,所用时间也就相对较少,对于新品加工时间就较慢,所以对工人来说是有一个学习和适应的过程的,学术上将这个现象称为“学习效应”,这也是导致加工时间变化的原因。

  6. 物流维度。现在很多人都在提“无人车间“、“黑灯车间“、“智能车间“等,实现这个的前提是得有自动化的物流,传统的有传送带,现在更加智能的有EMS、AGV、RGV等,通过这些装备可以使调度更加准确,同时也增加了调度的复杂性,因为运输时间不能再忽略不计。之前我们实验室做过一个西安航空制造厂的项目,对一个400台机床的车间进行建模仿真,由于问题比较复杂,基本没用上什么优化的方法,目前也没看到有什么比较好的相关论文,所以这一块还是比较有价值的。

  7. 辅助资源维度。辅助资源包括刀具、夹具、量具等,这些资源也会影响调度,因为开始加工前这些辅助资源不准备好就会影响开工时间,同时对于数量比较少的辅助资源,还会存在竞争现象,因此调度过程中不仅要考虑机床还要考虑辅助资源,这就是著名的多资源调度。

其实约束还有很多,在这里主要说了目前正处于研究火热阶段且问题比较实际的几点,以后有时间会再慢慢补充。

融合层面:

将已有的算法初次用到古老的问题其实也是一种创新,这也是这个层面要表达的核心思想。这就需要时刻关注本专业以外的其他领域,学习他们的方法和思想,并转化为可以应用到本领域,解决本领域问题的形式,如深度学习现在异常火热,可以考虑如何用深度神经网络求解调度问题,以及我目前正在研究的深度强化学习,如何表达调度特征,如何定义奖励等等。随之而来的困难就是要花费一定的时间是了解和学习其他专业的知识,这就是学科交叉所带来的机遇和挑战。

应用层面:

在应用层面,我的想法就是将调度和其他一些先进概念相结合,比如现在非常火的大数据、物联网、数字孪生。调度只有在精准的基础数据基础上才能保证鲁棒和可行,物联网实际上为准备调度数据提供了技术支持,如果车间内各种要素都可以被实时监控,那么再通过大数据相关技术手段,将这些杂乱冗余的数据变成有用有效的信息和知识,这实际上也是智能制造非常重要的一点。提到知识,一部分来源人的经验,如何将人根据多年工作经验做出的决策建模成一种数学表达,就可以初步解决工厂落地的问题,另一部分知识就是来源车间,这可以通过概率统计归纳总结出一定的规律。

结语

其实在机械制造领域,如果能解决一个实际问题其实就是很大的创新了,以上只是一些自己的看法,不能代表一定正确,希望能抛砖引玉,畅所欲言,同时也希望大家能够更多的提出问题,欢迎随时在公众号留言,一同探讨,一同学习,一同进步。

柔性作业车间调度问题研究-思考相关推荐

  1. ga设置迭代次数_种群进化+邻域搜索的混合算法(GA+TS)求解柔性作业车间调度问题(FJSP)算法介绍...

    程序猿声 代码黑科技的分享区 过去小编简单了解过作业车间调度问题(JSP),这两个月简单接触了柔性车间调度问题(FJSP),但是因为一些原因打算暂时研究到这里.在研究的时候,小编发现网上这方面的中文资 ...

  2. 柔性作业车间调度问题 (FJSSP)

    多智能体系统是分布式人工智能(DAI,Distributed Artificial Intelligence)的一个重要分支. MES(Manufacturing Execution System)制 ...

  3. 【调度】经典作业车间调度问题VS柔性作业车间调度问题

    经典作业车间调度问题 在传统车间调度模型中,假设工序加工所需要的资源是不具备柔性的资源,工件的所有工序的加工机器是唯一的,且机器顺序是已知的,则可通过确定工序在每台机器上的加工顺序来优化完工时间等系统 ...

  4. 【车间调度】变邻域遗传算法求解柔性作业车间调度问题

    本系列为自己学习调度相关知识的记录,如有误请指出,也欢迎调度方向的小伙伴加我好友共同交流. 混合优化算法优化策略 变邻域搜索算法是一种快速和有效的求解复杂组合优化问题的局部搜索算法,通过邻域结构的系统 ...

  5. Q-learning算法辅助求解柔性作业车间调度问题--附带源码测试集模型

    Q学习算法求解FJSP 摘要 论文简介 Q-learning 算法 Q学习算法 如何设计Q学习算法 我是如何设计的 第二类型模糊数的FJSP问题 提出的算法 框架 初始化方法 局部搜索策略 贪心节能策 ...

  6. 改进差分进化算法及其求解柔性作业车间调度问题(Python代码实现)

  7. 论文阅读|《面向多目标柔性作业车间调度的强化学习NSGA-Ⅱ算法》

    <面向多目标柔性作业车间调度的强化学习NSGA-Ⅱ算法> 重庆大学学报/2021 1 多目标柔性作业车间调度模型 考虑的目标: (1)最大王时间 (2)机器总负荷 (3)瓶颈机器负荷 2 ...

  8. 【车间调度】灰狼优化算法求解柔性作业车间问题【含Matlab源码 661期】

    ⛄一.车间调度简介 1 车间调度定义 车间调度是指根据产品制造的合理需求分配加工车间顺序,从而达到合理利用产品制造资源.提高企业经济效益的目的.车间调度问题从数学上可以描述为有n个待加工的零件要在m台 ...

  9. 作业调度问题java代码_Tabu Search求解作业车间调度问题(Job Shop Scheduling)-附Java代码...

    本文来源于公众号[程序猿声],作者舟寒丶 作业车间调度问题 问题模型 举个栗子 有关禁忌搜索算法的内容,公众号内有详细教程: 大家可以点击超链接回顾相关知识,这里就不再细说了. 一般而言,用禁忌搜索算 ...

最新文章

  1. 仙居机器人_【101巨喜讯】又一个全国冠军!仙居学子机器人全国赛获奖啦!
  2. tvOS模拟器遥控的快捷键
  3. 分布式内存数据库---redis配置文件常用配置介绍
  4. 导语3——node以及npm
  5. c语言如何让数组的两个数据调换位置_浅论数据结构
  6. 给UIWebView增加搜索栏
  7. 用C语言实现解析简单配置文件的小工具
  8. Python 爬虫---(4) 正则的基本使用
  9. Docker入门系列(一):目标和安排
  10. 微信语音麦克风静音_微信语音关闭麦克风对方知道吗
  11. keepalived高可用
  12. 全球卫星导航系统(GNSS)相关概念总结
  13. 【react踩坑】前端显示文件流图片
  14. [电脑桌面右击新建没有excel、ppt、word]
  15. 流式数据架构理论 ◆ 基本概念
  16. 支持html5安卓手机浏览器,百度手机浏览器强劲内核 完美支持HTML5
  17. 小程序和html5开发的差异
  18. 12306登录python_python tcp登录注册_12306注册登录入口
  19. 电脑屏幕亮度怎么调?四种自由调节亮度方式
  20. 【华人学者风采】郭嘉丰 中国科学院

热门文章

  1. vue-quill-editor富文本编辑器自定义上传图片功能
  2. Go语言map的并发操作
  3. 天美服务器维护,王者荣耀出现锦鲤Bug?莫名其妙送英雄和皮肤,玩家:天美成熟了...
  4. 红黑树-介绍/性质/定理/基本操作/特点
  5. java窗口程序实例_Java Swing快速构建窗体应用程序
  6. 移动距离 奇妙的数字
  7. SQL sever数据库的单表查询和连接查询
  8. Arduino按键控制MP3模块随机播放音乐(YX5300 MP3音乐模块)
  9. am335x的网卡相关资料
  10. Http系列---Http status code 状态码