安达发|模拟车间模型生成生产排产计划

news2024/10/7 19:27:41

根据车间模型生成排产计划的一般程序可简单地描述为下面6个步骤。
1. 建模
车间模型必须详细地捕捉生产流程的特征和相应的物流,以便以最小的成本生成可行的计划。由于一个系统的产出率只受潜在瓶颈资源的限制,因此,我们只需对车间现有全部资源的一部分,即那些可能成为瓶颈的资源,建立一个清晰的模型。关于建模方法的细节我们将在后面进一步阐述。
2. 提取所需数据
生产计划排程使用的数据来自ERP系统、主生产计划和需求计划。生产计划排程仅利用这些模块中可用数据的一个子集,因此,在建立一个给定生产单元的模型时,必须指明它实际需要哪些数据。

3. 生成一组假定(生产状况)
除了从ERP系统、主生产计划和需求计划这些数据源中接收的数据之外,车间或生产单位的决策者或许对车间当前或未来的状况会有更进一步的知识或期望,这些信息在其它地方(如软件模块中)是不能得到的。再者,对车间的可用能力或许也可以有多种选择(如柔性的倒班安排等)。因此,决策人员必须有能力修改数据和建立某种生产状况。
4. 生成一个(初始)排产计划
在有了模型和数据之后,就可以针对给定的生产状况,利用线性规划、启发式算法和基因算法等各种复杂的优化方法来生成排产计划。这项工作可以一步完成,也可以通过两级计划层次(先综合的生产计划,后详细的排产计划)完成。
5. 排产计划分析和交互修改
如果通过两级计划层次完成,也即先生成综合资源的上层生产计划。那么,在生成一个详细的排产计划之前,人们或许首先要对这个生产计划进行分析。特别地,如果生产计划不可行,决策人员可以交互地指定一些计划途径来平衡生产能力(如增加班时或指定不同的加工路径)。这或许要比修改在单个资源上的加工工序(下层排产计划)更加容易。APS采用了例外管理(management-by-exception)的技术,如果出现问题和不可行性(如超过定单交货期或资源过载),APS就会发出警告(alerts)。这些警告首先被“过滤”,然后,正确的警告被传递到供应链中正确的组织单位。此外,针对一种生产状况产生的排产方案还可以通过结合决策者的经验和知识交互地改进。当然,为了提供真正的决策支持,必要的修改次数应当受到限制。
6. 生产状况核准
当决策人员确定已经评估了所有可选方案时,他/她将选择那个体现最佳生产状况的排产计划去执行。
7. 执行和更新排产计划
决策人员选定的排产计划将被传递给:MRP模块(分解计划)、ERP系统(执行计划)和运输计划模块(在顾客定单完成时安排装运车辆)。MRP模块把在瓶颈资源上计划的所有活动分解成在非瓶颈资源上生产的那些物料或由供应商交付的物料;此外,对某些加工定单所必需的物料也将被预定。排产计划将持续执行到某个事件信号发生时才进行更新,也即直到修改一个排产计划看来是可取的时候。这个事件可以是一个新定单的到来、机器故障或冻结的计划部分已执行完毕(后面我们还将对排产计划的更新作详细讨论)。改变车间生产模型的情况不太经常。如果结构保持不变和只是数量上受到影响(例如一个机床组中的机床数或某些已知产品的新变种),那么,通过下载ERP系统中的数据,APS能自动更新模型。但当变化很大时(例如具有某些新特征的新生产阶段的引入),那么,由专家对模型进行手动调整则是可取的。

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

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

相关文章

qt day 1

this->setWindowIcon(QIcon("D:\\zhuomian\\wodepeizhenshi.png"));//設置窗口的iconthis->setWindowTitle("鵬哥快聊");//更改名字this->setFixedSize(500,400);//設置尺寸QLabel *qlnew QLabel(this);//創建一個標簽ql->resize(QSize(500,20…

浅析SOLIDWORKS空模板警告 | 使用技巧

在使用SOLIDWORKS时,个别用户会遇到这样的问题:使用SOLIDWORKS打开【.step】【.x_t】等交换档会出现如下错误提示(或者是另存实体为零件或装配体时): 这个时候可以点击“取消”来手动载入模板,但是下一次打…

说说Flink中的State

分析&回答 基本类型划分 在Flink中,按照基本类型,对State做了以下两类的划分: Keyed State,和Key有关的状态类型,它只能被基于KeyedStream之上的操作,方法所使用。我们可以从逻辑上理解这种状态是一…

论文浅尝 | 利用对抗攻击策略缓解预训练语言模型中的命名实体情感偏差问题...

笔记整理:田家琛,天津大学博士,研究方向为文本分类 链接:https://ojs.aaai.org/index.php/AAAI/article/view/26599 动机 近年来,随着预训练语言模型(PLMs)在情感分类领域的广泛应用&#xff0c…

性能测试平台RunnerGo

在当今的软件开发环境中,测试是确保产品质量和稳定性的重要环节。RunnerGo是一款基于Go语言研发的轻量级测试平台,以其强大的功能和易用性成为了测试领域的佼佼者。 RunnerGo具有轻量级、全栈式、易用性和高效率等特点,为用户提供了全面的测…

【C语言】冒泡排序的快排模拟

说到排序,必然绕不开两个排序,冒泡排序与快速排序 冒泡排序是大多数人的启蒙排序,因为他的算法简单。但效率不高,便于新手理解; 而快速排序是集大成之作,效率最高,使用最为广泛。 今天这篇文章带…

Ae 效果:CC Glass Wipe

过渡/CC Grid Wipe Transition/CC Grid Wipe CC Glass Wipe(CC 玻璃擦除)效果用于创建一种基于亮度信息的擦除方式,过渡边缘有类似于玻璃的质感。 ◆ ◆ ◆ 效果属性说明 Completion 完成度 控制过渡效果的完成进度。 值从 0 %(…

自动驾驶车辆换道过程建模与分析

目 录 第1 章 绪论 ................................................................................................................. 1 1.1 研究背景及意义.............................................................................................. 1 1.2 研究…

ACM模式数组构建二叉树Go语言实现

目的 想输入一个数组,然后构造二叉树 例如数组为[6, 2, 8, 0, 4, 7, 9, -1, -1, 3, 5] 对应的二叉树为: 参考资料 ACM模式数组构建二叉树 重点:如果父节点的数组下标是i,那么它的左孩子下标就是i*21,右孩子下标就是…

Leetcode 易错题整理(二)40. 45. 46. 47. 49. 56. 62. 63.

40. 组合总和 II 给定一个候选人编号的集合 candidates 和一个目标数 target ,找出 candidates 中所有可以使数字和为 target 的组合。 candidates 中的每个数字在每个组合中只能使用 一次 。 **注意:**解集不能包含重复的组合。 示例 1: 输入: candidat…

Doris数据库BE——Stream load

Doris是一款快速、可靠的分布式大数据仓库,是由阿里巴巴集团在2016年底开源发起的。它采用了分布式存储和计算技术,可以处理海量的数据,并且可以实现实时查询和快速分析。 Doris 数据仓库有以下特点: 分布式计算:利用…

结构体(个人学习笔记黑马学习)

1、结构体的定义和使用 #include <iostream> using namespace std; #include <string>struct Student {string name;int age;int score; }s3;int main() {//1、struct Student s1;s1.name "张三";s1.age 18;s1.score 100;cout << "姓名&a…

【阻塞队列】

文章目录 普通队列存在的问题单锁实现双锁实现 普通队列存在的问题 大部分场景要求分离向队列放入&#xff08;生产者&#xff09;、从队列拿出&#xff08;消费者&#xff09;两个角色、它们得由不同的线程来担当&#xff0c;而之前的实现根本没有考虑线程安全问题队列为空&a…

【记录】手机QQ和电脑QQ里的emoji种类有什么差异?

版本 手机 QQ&#xff1a;V 8.9.76.12115 电脑 QQ&#xff1a;QQ9.7.15&#xff08;29157&#xff09; 偶然发现&#xff0c;有一种emoji手机上怎么找都找不到&#xff0c;一开始以为自己失忆了&#xff0c;后来发现这种emoji只在电脑上有。 接下来简单说一下找emoji差异的方式…

912.排序数组

目录 一、题目 二、代码 一、题目 912. 排序数组 - 力扣&#xff08;LeetCode&#xff09; 二、代码 class Solution { public:void _MergeSort(vector<int>&data,vector<int>&tmp,int begin,int end){if(begin>end)return;//结束条件int mid (beg…

解决博客不能解析PHP直接下载源码问题

背景&#xff1a; 在网站设置反向代理后&#xff0c;网站突然不能正常访问&#xff0c;而是会直接下载访问文件的PHP源码 解决办法&#xff1a; 由于在搞完反向代理之后&#xff0c;PHP版本变成了纯静态&#xff0c;所以网站不能正常解析&#xff1b;只需要把PHP版本恢复正常…

记录一些问题

1、如何下载从数据库中查询出来的数据 查询结果List 写到文件中&#xff0c;然后下载 GetMapping(value "/download")public void download(HttpServletResponse response)throws IOException {List<ticket> tickets getTickets();File tmpFile write2CSVF…

Python的os.walk()函数使用案例

在Python中&#xff0c;os模块是一个非常实用的工具&#xff0c;它可以让我们与操作系统进行交互&#xff0c;操作文件和目录。在本文中&#xff0c;我们将详细介绍os模块中的遍历文件功能&#xff0c;并通过具体案例和使用场景来解释。 首先&#xff0c;导入os模块。在Pytho…

嵌入式学习之exec族函数

今天&#xff0c;主要学习的内容是exec族函数和system函数&#xff0c;以及system函数和fork函数的配合使用。今日写的代码如下&#xff1a;

《Kubernetes部署篇:Ubuntu20.04基于containerd部署kubernetes1.24.17集群(多主多从)》

一、架构图 如下图所示: 二、环境信息 1、部署规划主机名K8S版本系统版本内核版本IP地址备注k8s-master-631.24.17Ubuntu 20.04.5 LTS5.15.0-69-generic192.168.1.63master节点 + etcd节点k8s-master-641.24.17Ubuntu 20.04.5 LTS5.15.0-69-generic192.168.1.64master节点 + …