基于模型的系统工程方法(MBSE)主张以模型为核心,以图形化的形式支持系统全生命周期的建模和分析,增强信息的获取、分析、共享和管理能力。本案例在采用基于模型的系统工程方法结合可满足性模理论的方法实现生产调度过程的建模与调度方案生成。案例背景为新冠疫情下的某包装盒工厂生产调度,当新冠疫情来临时,工厂面临着订单更改、维持低成本、维护员工健康生产环境的挑战。本案例采用基于模型的系统工程方法对生产线进行了建模,并针对调度需求进行了约束分析,通过基于可满足性模理论的方法完成了新调度方案的生成。
案例陈述假定公司A有一条生产飞机减震器的包装盒的生产线。如图1所示,生产部门在完成总体计划后,获得每条产线每天的产量。在此信息的基础上,生产部门综合工人的薪资、技能和产线生产产品的生产顺序以及标准工时制定优化人力资源的生产调度方案。产线根据该方案进行劳动力和工序的安排,进行生产。加工后的产品被送入仓库,满足订单需求后再被运输至客户方。
由于新冠疫情的影响[J1] ,工人需要保持工作之间的距离,尽量减少被感染的机会。同时,生产部门需要在保证工人工作环境安全的前提下,保证生产的成本和效率不会受太大影响。因此,生产部门决定减少产线的工人数量,保证工作距离,并对原生产调度方案进行优化。在该案例中,方案优化的方向是在减少工人的情况下,进行人员和生产顺序的调度,保证生产平衡、减少完成生产计划的时间并且降低人力成本。
图 1 包含人力资源优化的生产调度
该飞机减震器包装盒的生产线共有22道工序。每个任务具有自己的标准生产工时,任务之间具有加工的优先关系,加工优先顺序如图2所示,每项任务的标准工时如表1所示。假定在一个生产周期(10天)内,生产产量的需求是2400件,计划节拍根据产量和时间计算,确定为120s。
图 2 生产工序
表 1 任务标准工时
工序 |
时间 |
工序 |
时间 |
工序 |
时间 |
工序 |
时间 |
工序 |
时间 |
工序1 |
7 |
工序6 |
11 |
工序11 |
9 |
工序16 |
25 |
工序21 |
30 |
工序2 |
26 |
工序7 |
9 |
工序12 |
15 |
工序17 |
30 |
工序22 |
51 |
工序3 |
15 |
工序8 |
18 |
工序13 |
38 |
工序18 |
25 | ||
工序4 |
13 |
工序9 |
15 |
工序14 |
19 |
工序19 |
58 | ||
工序5 |
23 |
工序10 |
26 |
工序15 |
49 |
工序20 |
22 |
任务根据执行难易程度被分为不同的工种,第1类工种主要包含一些简单任务,第2类为中等难度的任务,第3类为复杂任务,每个任务与工种的隶属关系如表2所示。
表 2 任务和工种匹配关系
工种 |
工序 |
简单工种(第1类) |
2、7、11、13、14、15、17、19、22 |
一般工种(第2类) |
1、3、4、6、8、9、10、21 |
复杂工种(第3类) |
5、12、16、18、20 |
此外,工人也根据加工工件熟练程度被划分为三个级别,分别是高级(A级)工人、中级(B级)工人、初级(C级)工人。所有级别的工人都有能力操作三类工种,但是不同级别的工人执行同一工种的工作时长对应不同的时间因子和薪资,如下表(表3)所示:
表 3 工人级别的划分
简单工种 |
一般工种 |
复杂工种 |
薪资 | |
高级工人(A级) |
0.6 |
0.9 |
1.1 |
5200 |
中级工人(B级) |
0.9 |
1.1 |
1.6 |
4000 |
初级工人(C级) |
1.1 |
1.5 |
2.1 |
2200 |
从表中可以看出,高级工人的加工能力强,加工同样工种的时间较其他级别的工人短,而中级工人和初级工人的加工能力依次降低。这意味着当高级工人执行标准工时为30秒的工序21需要只需要花费27秒,而初级工人则需要花费45秒才能够完成工序21。
该公司执行该生计划时,原本安排11个工人进行工作。根据疫情防控的指南,公司决定将11个工人削减为8个工人。削减工位后,公司需要对工人和任务的匹配进行重新安排调度。在削减工位的基础上进行重新安排的目标为保证生产平衡率、降低成本。
模型建立通过KARMA语言的MBSE建模方法构建生产调度所需的SysML模型,基于SysML[J1] 的九类图描述如何解决生产调度问题以及如何通过模型定义模型约束和优化目标。解决生产调度问题的建模流程如图3所示。建模过程分为五个阶段,分别是需求定义、功能架构描述、逻辑架构描述、场景定义和调度空间定义。
图 3 产线建模流程
依据建模流程,完成模型建立,如图4。
图 4 生产调度的建模
第一部分是需求模型的定义。图A.1用例图定义利益相关人。图B.1从利益相关人角度描述生产过程中进行生产调度的需求。其具体需求列表如下:
- 同一时间工作的工人数为8人。
- 产品生产的每一道工序都必须被执行且只执行一次,不更换执行工人
- 执行工序时需要依据工序的优先顺序
- 重新安排后,每一个工位的总用时不能超过生产节拍
- 每个工位只能有一位工人工作
- 优化目标为最小化人力成本、生产等待时间和生产总负荷。
- 工人每天工作不大于8小时
- 交付周期为10天
- 生产件数为2400件
图D.1和图E.1分别通过用例图和序列图描述生产系统运行的功能。D.1用例图描述了生产计划部门收到客户下达的订单之后,制定计划,安排工人在生产线上进行生产,将生产出的产品运送至仓库,满足订单需要的数量后,送至客户手中。E.1时序图则描述了这一过程中的信息交换。D.2活动图、E.2状态机图共同描述产品生产过程中的动作、状态的变化、22道工序之间紧前紧后顺序,完成飞机起落架的装配。这一部分的信息提取于生产系统的工人和某一产线。图F.1利用两个包图描述工序与工种的关系、工人的级别。图F.2模块定义图描述生产系统的组成。图F.3通过用例图描述不同级别的工人执行不同类型的工种以及对应的时间因子。图G.1通过用例图说明在原有安排中11位工人是如何工作的,图G.2通过参数图说明原方案对应的工人种类、工人工序的匹配方法和计算工人负荷的方式。图H和图I部分展示了如何从需求定义、功能定义、逻辑定义和场景定义得到调度空间。完成模型建立之后,则在相应建模工具对应的editor编辑统一建模语言KARMA描述对应的约束和求解目标,进行求解。
图 5 实现方法
首先,通过GOPPRR建模方法在MetaGraph的建模界面构建产线系统的各类模型。之后,利用KARMA语言形式化地描述各级模型和各级模型之间的约束关系,以及优化目标。之后,工具对输入的语言进行编译,依次执行代码,并调用相应的基于可满足性模理论的求解器,验证是否存在满足约束条件的解集,最终得到求解结果。求解结果自动返回前端的结果界面被展示。
结果与讨论根据上述求解方式,获得下列方案
表 4 现方案和原方案对比
图 6 结果对比
从工人工作总时间、总薪资和生产平衡率可以看出,现方案生产总时间位491.4s,相较于原方案,下降17%,总薪资位32600元,下降3.5%,生产平衡率位91%,相较于原方案提升了38.2%。
编辑于 10 分钟前
,