柔性作业车间调度(FJSP)

1.1 调度问题的研究背景

        生产调度是指针对一项可分解的工作(如产品制造),在尽可能满足工艺路线、资源情况、交货期等约束条件的前提下,通过下达生产指令,安排其组成部分(操作)所使用的资源、加工时间及加工的先后顺序,以获得产品制造时间或成本最优化的一项工作。

        一般研究车间调度问题时,都会以经典的作业车间调度问题(job shop scheduling problem,JSP)为基础进行研究,每个工件的每道工序只能在一台机器上加工,并且仅仅只能加工一次,加工时间是确定的,如图1.1所示。

        随着柔性制造系统和数控加工中心等带有一定柔性的生产系统逐渐出现,以往经典作业车间调度的研究成果不能非常快速地直接应用于新的制造模式中,于是柔性作业车间调度问题(flexible jobshop scheduling problem,FJSP)也就成为研究重点,它是JSP的一种扩展,工件的每道工序可以在多台机器上进行加工,加工时间不一定相同。工件的每一道工序可以在多台相同或不同的机器上进行加工。实际生产中可以按照资源负荷情况,灵活地进行资源的选择,提高加工的灵活性。

1.2 调度问题描述和分类

1.2.1 调度问题的描述

        调度问题的一般性定义为:在一定的约束条件下,把有限的资源在时间上分配给若干个任务,以满足或优化一个或多个性能指标。

        在制造业中,车间调度问题可以描述为:n个工件在m台机器上加工;一个工件有多道工序,每道工序可以在若干台机器上加工,并且必须按一些可行的工艺次序进行加工;每台机器可以加工工件的若干工序,并且在不同的机器上加工的工序集可以不同。调度的目标是将工件合理地安排到各机器,并合理地安排工件的加工次序和加工开始时间,使约束条件被满足,同时优化一些性能指标。在实际制造系统中,还要考虑刀具、托盘和物料搬运系统的调度问题。

1.2.2 车间调度问题的分类

1.流水车间调度问题

        在流水车间调度问题(flow shop scheduling problem,FSP)中,加工系统有一组功能不同的机床,待加工的工件包含多道工序,每道工序在一台机床上加工,所有工件的加工路线都是相同的。每个工件工序之间有先后顺序约束。

2.作业车间调度问题

        在作业车间调度问题(job shop scheduling problem,JSP)中,加工系统有一组功能不同的机床,待加工的工件包含多道工序,每道工序在一台机床上加工,工件的加工路线互不相同,每个工件工序之间有先后顺序约束。

2.1 柔性作业车间调度问题的描述

2.1.1 柔性作业车间调度问题的描述与分类

        柔性作业车间调度问题(flexible job shop scheduling problem,FJSP)的描述如下:n个工件(J1,J2,…,Jm)要在m台机器(M1,M2,…,Mm)上加工;每个工件包含一道或多道工序;工序顺序是预先确定的;每道工序可以在多台不同加工机器上进行加工;工序的加工时间随加工机器的不同而不同;调度目标是为每道工序选择最合适的机器,确定每台机器上各道工序的最佳加工顺序及开工时间,使整个系统的某些性能指标达到最优。因此,柔性作业车间调度问题包含两个子问题:确定各工件的加工机器(机器选择子问题)和确定各个机器上的加工先后顺序(工序排序子问题)。

此外,在加工过程中还需要满足下面的约束条件。

  1. 同一台机器在某一时刻只能加工一个工件。
  2. 同一工件的同一道工序在同一时刻只能被一台机器加工。
  3. 每个工件的每道工序一旦开始,加工便不能中断。
  4. 不同工件之间具有相同的优先级。
  5. 不同工件的工序之间没有先后约束,同一工件的工序之间有先后约束。
  6. 所有工件在零时刻都可以被加工。

        柔性作业车间调度问题根据资源选择限制条件和柔性程度,可以分为完全柔性作业车间调度问题(total FJSP,T-FJSP)和部分柔性作业车间调度问题(partialFJSP,P-FJSP),分别如表2.1、表2.2所示。在T-FJSP中,所有工件的每一道工序都可以在可选择的机器中选择任何一台进行加工;而在P-FJSP中,至少存在一道工序的加工机器只能是可选择的机器中的部分机器,即机器集的真子集来进行加工。也可以说,T-FJSP只是P-FJSP的一个特例。P-FJSP更加符合实际生产系统中的调度问题,研究P-FJSP比T-FJSP更具有实际意义,P-FJSP要比T-FJSP更加复杂。

        表2.2是一个包括2个工件、5台机器的P-FJSP的加工机器和加工时间表。其中,“一”表示此工序不能选择上面对应的机器进行加工。如果所有的“一”都有对应的加工时间,表明所有的机器都可以进行选择加工,就是T-FJSP,如表2.1所示。 

2.1.2 FJSP的析取图模型

        在FJSP中,存在循环排列的特性,即同一个工件的多道工序可以在同一台机器上连续或间隔加工。当FJSP中每道工序确定了加工机器之后,即转变为一般的作业车间调度问题。而析取图(disjunctive graph)模型是描述车间调度问题的一种重要形式。析取图模型G=(N,A,E)是由Balas提出的,其定义为:N是所有工序组成的节点集,其中0和*表示两个虚设的起始工序和终止工序,每个节点的权值等于此节点工序在对应机器上的加工时间;A是连接同一个工件的邻接工序间的有向弧集(实线),表示工序之间的先后加工顺序约束;E是连接在同一台机器上相邻加工工序间的析取弧集(虚线)。E上每个析取弧是双向的,可视为包含两个方向相反的弧,并且由每台机器i上的析取弧子集构成。以表2.3所示调度问题为例,其中包含三个工件、三台机器和九道工序。如图2.1(a)所示,节点集N={0,O11,O12,O13,O21,O22,O23,O31,O32,O33,*}。有向弧集A={(O11,O12),(O12,O13),(O21,O22),(O22,O23),(O31,O32),(O32,O33)}。

        对由第i台机器(i∈Ω)所加工的工序而言,每一个加工方案等价于E中的一个选择,即在E2的每个双向弧中选择一个确定的方向,记为一个选择S。一个环就是从一个工序出发到此工序终止的路径。如果一个选择S,不包含任何有向环(directed cycle),则称为非循环(acyclic),对应着第i台机器上所有工序的一个调度。在i∈Ω中,对每个E,求得一个选择S1,所有机器选择的并集S称为完全选择;否则S为部分选择。无论S是一个部分选择还是一个完全选择,都有唯一的有向图Ds=(N,AUS)与之相对应。当有向图是非循环图时,表示一个可行调度,并且所有选择S,也必是非循环的;反之,由非循环选择S1组成的有向图不一定是非循环的。如图2.1(a)所示为表2.3中调度问题的一个可行调度的有向图,图2.1(b)所示为对应图2.1(a)的甘特图,其中机器1上的选择S1={O21,O11,O32},机器2上的选择S2={O31,O12,O23},机器3上的选择S3={O22,O13,O33}。

 

        在非循环有向图Ds中,从起点0到终点*的最长路径称为关键路径(critical path),其长度等于该调度的最大完工时间。用析取图描述调度问题,就是为了找到此关键路径,并使之最小。属于关键路径上的每道工序称为关键工序。在同一台机器上紧邻的几个关键工序的组合称为关键块,同一个机器上可能有多个关键块,其中每个关键块的第一个工序为块首工序,每个关键块的最后工序称为块尾工序,其他称为内部工序。如图2.1(b)中画虚线的O21、O11、O12、O13、O33表示关键工序;有两个关键块,即{O21,O11}、{O13,O33};关键路径的长度等于16。 

2.1.3 FJSP 评价指标

        在FJSP的求解过程中,调度方案优劣的评价需要通过一定的目标函数来判断,目标函数也就是常用的评价指标。FJSP中不仅包括了经典JSP常用的评价指标,而且还有其他的评价指标。下面列出文献中较为常用的几个评价指标。
        (1)最大完工时间最小 完工时间是每个工件最后一道工序完成的时间,其中最大的那个时间就是最大完工时间(makespan)。它是衡量调度方案的最根本指标,主要体现车间的生产效率,也是FJSP研究中应用最广泛的评价指标之一,可表示为(2.10)所示。

        (2)机器最大负荷最小 在FJSP求解中,存在选择机器的过程,各台机器的负荷随着不同的调度方案而不同。负荷最大的机器就是瓶颈设备。要提高每台机器的利用率,必须使得各台机器的负荷尽量小且平衡,可表示为

        (3)总机器负荷最小 工序在不同机器上的加工时间是不同的,那么总的机器负荷随着不同的调度方案而不同。尽量使最大完工时间一样的情况下,减少所有机器的总消耗,可表示为

 2.3 柔性作业车间调度问题的研究方法

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/443390.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

MySQL 日志 - Binlog

文章目录 binlog 的格式mysqbinlog 工具SHOW binlog events;binlog 和 redo log 对比 https://dev.mysql.com/doc/refman/8.4/en/binary-log.html binlog 全称 BinaryLog,是 MySQL 数据库中用于记录所有更改数据库状态的事件的日志文件。它主要用于以下几个目的&am…

【hot100-java】二叉树中的最大路径和

二叉树篇 easy. /*** Definition for a binary tree node.* public class TreeNode {* int val;* TreeNode left;* TreeNode right;* TreeNode() {}* TreeNode(int val) { this.val val; }* TreeNode(int val, TreeNode left, TreeNode right) {* …

考试宝 逆向 分析

声明: 本文章中所有内容仅供学习交流使用,不用于其他任何目的,抓包内容、敏感网址、数据接口等均已做脱敏处理,严禁用于商业用途和非法用途,否则由此产生的一切后果均与作者无关! 有相关问题请第一时间头像私信联系我…

Ping32引领数据防泄漏新潮流:智能、高效、安全

在当今数字化迅猛发展的时代,企业面临着日益严峻的数据安全挑战。数据泄漏事件频发,不仅损害企业声誉,还可能导致巨额的经济损失。为此,Ping32以其创新的数据防泄漏解决方案,正在引领行业新潮流。其技术特点可概括为“…

集师知识付费小程序:打造培训机构在线教育的金字招牌 集师知识付费系统 集师知识付费小程序 集师知识服务系统 集师线上培训系统 集师线上卖课小程序

在数字化浪潮的推动下,在线教育已成为教育领域的热门话题。而在众多在线教育平台中,集师知识付费小程序凭借其独特的定位和创新的模式,成功为培训机构打造了一张闪亮的在线教育金字招牌。 集师知识付费小程序,是一个集课程展示、…

从零开始学习Vue3

1、Vue3特点:更多的API特性;体积更小,速度更快;解决遗留问题;更加强壮。 2、通过全面学习Vue3,新手与老手的收获: 新手—如何去使用Vue完成项目的开发 老手—深度理解特性背后的原理 3、达到学习…

QRTCN区间预测 | Matlab实现QRTCN时间卷积神经网络分位数回归区间预测

区间预测 | Matlab实现QRTCN时间卷积神经网络分位数回归区间预测 目录 区间预测 | Matlab实现QRTCN时间卷积神经网络分位数回归区间预测预测效果基本介绍模型特性程序设计参考资料预测效果 基本介绍 Matlab实现QRTCN时间卷积神经网络分位数回归区间预测 QRTCN(Quantile Regres…

Kafka 快速入门

目录 介绍 KafKa 相关术语 ​编辑 Kafka的工作流程 生产者向kafka发送数据的流程 Kafka选择分区的模式 Kafka选择分区的模式 数据消费 kafka的文件存储机制 topic、partition和segment 存储和查找message的过程 数据写入过程 数据查找过程 注意事项 kafka管理UI …

【hot100-java】二叉树的最近公共祖先

二叉树篇 我觉得是比两个节点的深度,取min(一种情况) DFS解题。 /*** Definition for a binary tree node.* public class TreeNode {* int val;* TreeNode left;* TreeNode right;* TreeNode(int x) { val x; }* }*/ clas…

Redis set类型 zset类型

set类型 类型介绍 集合类型也是保存多个字符串类型的元素的,但和列表类型不同的是,集合中 1)元素之间是⽆序 的 2)元素不允许重复 ⼀个集合中最多可以存储 个元素。Redis 除了⽀持 集合内的增删查改操作,同时还⽀持多…

gaussdb hccdp认证模拟题(单选)

1.在GaussDB逻辑架构中,由以下选项中的哪一个组件来负责提供集群日常运维、配置管理的管理接口、工具?(1 分) A. CN B. DN C. GTM D. OM --D 2.在以下命令中,使用以下哪一个选项中的命令可以以自定义归档形式导出表t1的定义&#xf…

WPF中的内容控件

控件分类 在第一篇文章.Net Core和WPF介绍中的WPF的功能和特性部分根据功能性介绍了WPF的控件 名称。 在接下来的文章中,将会详细的介绍各个控件的概念及使用。 主要包括: 内容控件:Label、Button、CheckBox、ToggleButton、RadioButton、…

C++进阶——哈希

1.哈希的概念以及介绍 哈希结构是一种可以不经过任何比较,一次直接从表中得到要搜索的元素的数据结构。 如果构造一种存储结构,通过某种函数(hashFunc)使元素的存储位置与它的关键码之间能够建立 一一映射关系,那么在查找时通过该函数可以很…

基于SpringBoot项目评审系统【附源码】

基于SpringBoot项目评审系统 效果如下: 系统首页界面 学生登录界面 项目信息页面 项目申报页面 专家注册界面 管理员登录界面 管理员功能界面 项目评审界面 评审结果界面 研究背景 在当今快速发展的信息时代,项目评审作为项目管理的关键环节&#xff…

vue2集成vuex实现网站统一数据管理

文章目录 前言安装配置过程1、安装vuex依赖2、在src目录下创建store文件夹,创建模块site.jsgetters.jsindex.js 3、在man.js中添加vuex vuex实战:存储与获取网站基础数据何时去存储数据?(路由前置获取数据)如何取数据&…

高校新生报道管理系统使用SpringBootSSM框架开发

!!!页面底部,文章结尾,加我好友,获取计算机毕设开发资料 目录 一、引言 二、相关技术介绍 三、系统需求分析 四、系统设计 五、关键技术实现 六、测试与优化 七、总结与展望 一、引言 当前高校新生报到过程中存在许多问题,…

RISC-V笔记——基础

1. 前言 RISC-V旨在支持广泛的定制和专业化。RISC-V的ISA是由一个基本整型ISA和其它对基本ISA的可选扩展组成。每个整型ISA可以使用一个或多个可选的ISA扩展进行扩展。 基本整型ISA精选了最小的一组指令,这些指令足以为编译器、汇编器、链接器和操作系统提供足够的…

如何解决与kernel32.dll相关的常见错误:详细指南解析kernel32.dll文件缺失、损坏或错误加载问题

当你的电脑中出现错误kernel32.dll丢失的问题,会导致电脑不能出现正常运行,希望能够有效的帮助你有效的将丢失的kernel32.dll文件进行修复同时也给大家介绍一些关于kernel32.dll文件的相关介绍,希望能够有效的帮助你快速修复错误。 kernel32.…

鸿蒙HarmonyOS中Image图片组件以及HarmonyOs图标库完全解析

Image 图片组件,支持本地图片和网络图片的渲染展示。 一 、加载网络图片 1 、需要在 src/main/module.json5 中申请网络权限 "requestPermissions": [ { "name": "ohos.permission.INTERNET" } ] 详情参考: https://d…

基于Es的分词查询通过高亮效果实现前端高亮显示!!!!

引言: 经常我们在浏览器界面搜索关键词的时候,浏览器返回给我们的页面都是高亮显示关键词的效果, 如下: 我们要简单实现这个效果很简单,可以通过多种办法,这里通过Es 的高亮效果实现给我们关键字字段加自…