柔性作业车间调度(FJSP)

news2024/10/5 16:29:31

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.coloradmin.cn/o/2190164.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

django的路由分发

前言: 在前面我们已经学习了基础的Django了,今天我们将继续学习,我们今天学习的是路由分发: 路由分发是Web框架中的一个核心概念,它指的是将不同的URL请求映射到对应的处理函数(视图)的过程。…

发现一篇瑞芯微RK3588上使用Gstreamer的文章(野火)

1. 前言 最近经常使用英伟达的Orin和瑞芯微RK3588做开发,自己还买了好几块开发板,很多需要自己琢磨,今天忽然发现了一篇文章,意外解决了一些之前的问题,以此作为记录: 文章链接:https://doc.embedfire.com/linux/rk356x/quick_start/zh/latest/lubancat_rk_software_har…

Redis基础三(redis的高级配置)

Redis进阶配置 一、Redis持久化操作 ​ 持久化就是把内存的数据写到磁盘中去,防止服务宕机了内存数据丢失。(Redis 数据都放在内存中。如果机器挂掉,内存的数据就不存在。所以需要做持久化,将内存中的数据保存在磁盘&#xff0c…

Gralloc图形缓冲的分配过程

广告 首先帮我朋友打个广告 我们一起在运营一个视频号 感兴趣的可以帮忙点击右边这个小铃铛 铃铛 序 其实越往底下走在很多人嘴里就会变得很玄乎,变得不可思议,这里的gralloc就是一个native service,只是分装了一些调用接口,上…

使用Scikit-image进行图像处理入门

简介 在数据科学的广阔领域中,图像处理占据了重要的一席之地,为分析和处理视觉数据提供了各种工具和技术。Python 拥有丰富的库生态系统,为图像处理提供了多种选择,其中,scikit-image 凭借其强大且易用的功能脱颖而出…

记录使用gym和stable_baseline3训练出成功通关的贪吃蛇ai

参考自b站up林亦LYi的开源项目 传送门 本次只训练了cnn版本的 第一次接触这种项目,建python虚拟环境时出了点难以说清楚的小问题,安装不上requirement.txt中的gym库那个版本,折腾了一会,自己都乱了头绪,最后导致训练…

TMGM:黄金价格持稳,而WTI原油价格和天然气价格飙升

黄金价格顽强地拒绝下跌,昨天和周三继续抵制下行的趋势。 价格继续保持在近期的历史高位附近,很可能会有进一步上涨的动力。美元走强阻止了价格的进一步上涨,但总体上升趋势仍在进行中。 目前还没有明显的向下催化剂迹象,不过如…

c++联合体

// // Created by 徐昌真 on 2024/10/5. // #include <iostream> using namespace std;//定义一个结构体 struct DataS{ //内存空间独立int a;double b;char c[10]; };//定义一个联合体 union DataU{ //内存空间在一起int a;double b;char c[10]; };int main() {//创建…

Pikachu-目录遍历

目录遍历&#xff0c;跟不安全文件上传下载有差不多&#xff1b; 访问 jarheads.php 、truman.php 都是通过 get 请求&#xff0c;往title 参数传参&#xff1b; 在后台&#xff0c;可以看到 jarheads.php 、truman.php所在目录&#xff1a; /var/www/html/vul/dir/soup 图片…

奥博思软件总经理刘玉军受邀为项目经理大会演讲嘉宾

全国项目经理专业人士年度盛会 北京奥博思软件技术有限公司联合创始人、总经理刘玉军先生受邀为PMO评论主办的全国项目经理专业人士年度盛会——2024第四届中国项目经理大会演讲嘉宾&#xff0c;演讲议题为“高效协作的秘密&#xff1a;项目管理平台助力跨部门协作”。大会将于…

信息学奥赛复赛复习12-CSP-J2021-01分糖果-模运算、余数、打擂台求最值、最大值、最小值

PDF文档回复:20241005 **1 P7909 [CSP-J 2021] 分糖果 ** [题目描述] 红太阳幼儿园有 n 个小朋友&#xff0c;你是其中之一。保证 n≥2 有一天你在幼儿园的后花园里发现无穷多颗糖果&#xff0c;你打算拿一些糖果回去分给幼儿园的小朋友们 由于你只是个平平无奇的幼儿园小朋…

【数学分析笔记】第4章第4节 复合函数求导法则及其应用(2)

4. 微分 4.4 复合函数求导法则及其应用 【例4.4.3】 y e 1 cos ⁡ x ye^{\sqrt{1\cos x}} ye1cosx ​&#xff0c;求 y ′ y y′ 【解】 y ′ e 1 cos ⁡ x ⋅ 1 2 1 cos ⁡ x ⋅ ( − sin ⁡ x ) − sin ⁡ x 2 1 cos ⁡ x e 1 cos ⁡ x ye^{\sqrt{1\cos x}}\cdot\f…

【LeetCode】每日一题 2024_10_5 完成旅途的最少时间(二分答案)

前言 每天和你一起刷 LeetCode 每日一题~ 大家国庆节快乐呀~ LeetCode 启动&#xff01; 突然发现&#xff0c;国庆的每日一题&#xff0c;不是坐公交就是坐火车&#xff0c;不是坐火车就是做飞机&#xff0c;这就是你的国庆旅游计划吗&#xff01;力扣&#xff01; 题目&a…

今日凌晨,ChatGPT重磅更新!—— 我心目中的终极AGI界面

今日凌晨&#xff0c;ChatGPT重磅更新&#xff01;—— 我心目中的终极AGI界面 我心目中的终极 AGI 界面是一张空白画布&#xff08;canvas&#xff09;。 今日凌晨&#xff0c;OpenAI 发布 canvas&#xff0c;一个与 ChatGPT 合作写作和编程的新界面&#xff01; canvas&…

Linux基于CentOS学习【进程状态】【进程优先级】【调度与切换】【进程挂起】【进程饥饿】

目录 进程状态 状态决定了什么 进程等待方式——队列 进程状态的表现 挂起状态 基于阻塞的挂起——阻塞挂起 swap分区 进程状态表示 Z僵尸状态 进程的优先级 什么是进程的优先级 为什么会有进程的优先级 进程饥饿 Linux的调度与切换 切换 调度 queue [ 140 ]&am…

模拟算法(3)_Z字形变换

个人主页&#xff1a;C忠实粉丝 欢迎 点赞&#x1f44d; 收藏✨ 留言✉ 加关注&#x1f493;本文由 C忠实粉丝 原创 模拟算法(3)_Z字形变换 收录于专栏【经典算法练习】 本专栏旨在分享学习算法的一点学习笔记&#xff0c;欢迎大家在评论区交流讨论&#x1f48c; 目录 1. 题目链…

VGG原理与实战

VGG网络结构 这也更好的块状结构,256个卷积核 卷积就是我们的一个特征图啊往往都会缩小 &#xff0c;然后的话但它通道不会变.卷积一般是使用我们的通道C变大,磁化但是它的通道就是我们那个H和W一般都会变小.下采样的意思就是使分辨率变小 vgg—block内的卷积层都是同结构的意…

【杂谈二之Relay继电器】介绍Relay继电器的概念、原理、分类以及实例应用

一、Relay是什么 Relay就是一个电控制的开关 二、Relay的工作原理 宏观上看主要由两部分电路组成&#xff0c;左侧的电路是低电流电路&#xff0c;右侧是高电流电路 左侧是由线圈绕制成&#xff0c;当有电流通过时就会产生磁场&#xff0c;会对于电枢产生吸引&#xff0c;由于…

【cpp/c++ summary 工具】 vcpkg 包管理器

由于之前的Hunter 包管理器在Boost的构建中速度太慢&#xff0c;准备尝试一下vcpkg。 vcpkg是由microsoft开发的、适用于 Windows、Linux 和 MacOS 的 C 库管理器。 1. 安装 vcpkg&#xff1a; 普通安装 C:\windows\system32>git clone https://github.com/microsoft/vcp…

华为 HCIP-Datacom H12-821 题库 (32)

&#x1f423;博客最下方微信公众号回复题库,领取题库和教学资源 &#x1f424;诚挚欢迎IT交流有兴趣的公众号回复交流群 &#x1f998;公众号会持续更新网络小知识&#x1f63c; 1.当一个运行 MSTP 协议的交换设备端口收到一个配置BPDU 时&#xff0c;会与设备保存的全局配…