标准化数据接口
03 配置工作中心与共享资源
任务:让资源关系可检查
一间车间有冲压机A、冲压机B和装配台。两台冲压机共用一套夹具。需要分别表达组织归属、机器能力和夹具限制。
| workcenter.id | name | code | parent_id | type | station_count | parallelism | equipping_time |
|---|---|---|---|---|---|---|---|
| 10 | 车间 | SHOP | NULL | 1 | 1 | 1 | 0 |
| 11 | 冲压机A | PRESS-A | 10 | 0 | 1 | 1 | 0 |
| 12 | 装配台 | ASSEMBLY | 10 | 0 | 1 | 1 | 0 |
| 13 | 冲压机B | PRESS-B | 10 | 0 | 1 | 1 | 0 |
| 20 | 共用夹具 | FIXTURE | 10 | 0 | 1 | 1 | 0 |
这些是关系教学扩展记录;贯穿案例的基础数据库使用车间、冲压机A和装配台,另两项用于本课扩展。车间是组织节点,实际任务引用可执行资源;组织节点的标量默认值不等于又增加一套产能。
组织层级还可表达共性属性继承、不同层级的规则和汇总分析。例如车间规定共同日历口径,设备补充自身维护;车间级规则由对应配置落实到参与资源,再按设备明细汇总负荷。教学表只建立父子关系,自动继承与规则展开是否启用需由实际能力确认。车间汇总负荷不是额外一台设备的产能。
分开保存共享关系与可用能力
shared_resource只保存关联:
| id | binding | to |
|---|---|---|
| 1 | 20 | 11 |
| 2 | 20 | 13 |
capacity保存共享资源自己的能力:
| id | time_unit | workcenter | used |
|---|---|---|---|
| 5 | 1 | 20 | 0 |
| 6 | 2 | 20 | 0.5 |
第二天夹具只有半班可用。两个关联不会把半班复制成两份独立能力。shared_resource没有time_unit或used列,必须通过资源本身连接产能。
手工发现一次冲突
若A第二天需要夹具3小时,B需要2小时,夹具只可用4小时,则总需求5小时超过能力1小时。即使两台机器各自都有8小时,也不能据此判断组合计划可行。小时总量满足后,还需要确认具体使用时间不重叠。
本课建立接口表达并手算冲突。要让某次求解自动排除冲突,应在模型配置与结果检查中确认共享关系已被采用。
区分三种资源关系
parent_id:组织归属,回答“属于谁”。process_adaptor:工序可执行资源,回答“能在哪里加工”。shared_resource:资源依赖,回答“还需要共同使用什么”。
station_count描述工位,parallelism描述并行数量。不能用增加求解线程数来替代资源并行能力,也不能无条件把工位数和并行数重复乘到时间上。
练习与解析
增加第二套完全独立的夹具时,先建立新的资源对象与日历,再说明哪些机器可以使用它。若两套夹具仍受同一名操作人员限制,还需表达人员共享,不能直接认为能力翻倍。检查成果应能从每个依赖追到唯一资源与其时间记录。