收益:
- 能够使用人工智能驱动的 Python 代码自动执行优化和数据处理任务
- 能够通过单元检查、测试和边缘情况来验证人工智能生成的代码
- 能够保护机密生产数据并执行负责任的人工智能使用原则
在工业工程中,当使用 Python 自动执行重复计算、数据清理和优化模型时,速度和可重复性都会得到提高。 AI 是编写此代码最强大的加速器:使用 pandas 进行数据处理,使用 PuLP/SciPy 进行优化,使用 matplotlib 进行可视化,在几分钟内起草代码。但人工智能代码并不能本质上保证“看起来有效”和“准确”之间的区别。在这个单元中,我们结合了人工智能驱动的工程自动化、验证代码的规则以及保护机密生产数据的原则。该单元是所有先前单元的“放心应用”层。
为什么要编码?可重复性和可审核性
在 Excel 中进行手动计算将导致六个月后询问“这个数字来自哪里?”无法回答问题。另一方面,代码使输入、步骤和输出保持清晰且可重复。在代码中进行工程计算的三个好处:(1) 使用相同的输入始终得到相同的结果,(2) 使每个步骤可见且可审查,(3) 当输入更改时自动更新结果。
# 将 EOQ 计算转为可验证函数 import mathdef eoq(annual_demand, order_cost, Holding_cost): """经济订单数量,单位必须一致:annual_demand [items/year], order_cost [TL/order], Holding_cost [TL/pieces/year].""" if Annual_demand <= 0 or Holding_cost <= 0: raise ValueError("需求和持有成本必须为正") return math.sqrt((2 * Annual_demand * order_cost) / Holding_cost)# 用已知结果进行测试(验证):# D=3600, S=120, H=8 -> ~328,6assert abs(eoq(3600, 120, 8) - 328.63) < 0.1print(round(eoq(3600, 120, 8), 1))第328.6章
这里的断言行至关重要:针对已知结果进行测试。通过向人工智能编写的每个计算函数添加至少一个“已知结果测试”,您可以证明代码实际上计算正确。
使用人工智能生成代码的正确方法
向人工智能编写代码时的不确定性越少,输出就越可靠。
角色:你是Python和工业工程数据分析方面的专家。任务:编写一个函数,处理 CSV 中的每日生产数据(日期、已生产、故障、停机时间分钟),并计算每日浪费率和大致的 OEE 组成部分。要求:- 使用 pandas,验证列名(如果缺失,给出可理解的错误)。- 废物率 = 故障/产生;防止被零除。- 将具有已知结果的测试(断言)添加到函数中。- 将单元和假设写入文档字符串。规则:不要添加写入网络/文件系统的隐藏进程。只需进行计算即可。不确定的地方用注释标记出来。
弱提示/强提示
弱提示:
编写计算生产效率的代码。
“产量”未定义,没有数据模式,没有测试。即使输出有效,也不清楚它计算了什么。
强力提示:
计算下图中 CSV 的 OEE:列 [计划时间、运行时间、理想周期、生产量、质量]。可用性=工作/计划,绩效=(理想周期×生产)/运行,质量=质量/生产。 OEE 是这三者的产物。分别返回每个组件,处理除以零,并添加具有已知值的断言测试。
第二个提示清楚地给出了每个公式和图表;它消除了人工智能误解“产量”的可能性,并要求通过测试进行验证。
代码验证清单
在生产决策中使用 AI 代码之前,请执行以下步骤:
步骤
要检查什么
单位/尺寸
输入输出单位是否一致?
已知结果测试
它是否正确给出了手工计算的示例?
边缘情况
零、负数、空数据、单行有什么作用?
算术交叉检查
在小样本中结果是否明显?
看不见的副作用
代码是否删除/发送数据?
注意:人工智能有时会生成“有效但错误”的代码:例如,它错误地计算浪费率/生产而不是错误/总计,或者将百分比与比率混淆。仅仅因为代码运行没有错误并不意味着它是正确的。请务必使用已知结果进行测试。
安全和数据隐私
生产数据是商业秘密:产能、成本、客户需求、供应商价格。冲动地将这些放入人工智能服务中是一个严重的风险。
- 匿名数据:使用代码代替实际的客户/供应商名称;用样本值替换精度成本。
- 遵循公司政策:使用公司批准的人工智能工具和数据分类规则。
- 请求代码,本地运行数据:让AI编写代码,但在你自己的环境中用真实数据运行代码。这样,敏感数据就不会泄露。
- 检查输出:检查AI代码是否正在将数据发送到意外的地方(网络调用、外部API)。
提示:“让AI编写代码,在本地处理数据”的原则可以保护隐私并防止AI生成假数字。实际的求解器/库进行计算,AI 只是构建骨架。
迷你案例:工作正常但代码错误
在一家工厂中,工业工程师 Mert 让人工智能编写一个脚本来生成每月的 OEE 报告。该代码运行流畅,OEE 高达 92%。但是,当 Mert 针对已知的一天(他手动计算的一天,OEE 应该为 78%)进行测试时,代码返回 92%。经过审查,他发现AI对性能组件的设置不正确(使用平均周期而不是理想周期)。修正后,该值与实际情况相符。该代码产生了错误的结果,但没有任何错误。教训:如果没有使用已知结果进行测试,不准确的 OEE 可能会在数月内进入管理决策。
常见错误
- 思考“工作=正确”:接受没有给出错误的代码是正确的;没有以已知结果进行测试。
- 跳过边缘情况:发布被零除、空数据、负输入等情况,而不尝试它们。
- 粘贴机密数据:将实际成本/客户数据发送给人工智能而不进行匿名化。
- 将 AI 误认为求解器:使用 AI 所说的“结果是这样”的优化输出作为真正的求解器输出。
- 失去可审计性:共享代码而不记录假设和单位。
综上所述
- 该代码为工程账户增加了可重复性和可审计性;人工智能加速了这段代码。
- 通过向每个 AI 计算函数添加具有已知结果的断言来证明正确性。
- 在未通过单元、边缘情况和算术交叉检查表的情况下,请勿在生产决策中使用代码。
- “工作代码”并不意味着正确的代码;它可能工作完美并且计算不正确。
- 保密生产数据匿名化,遵守公司政策;将代码打印到 AI,但在本地处理数据。
应用任务
选择工程计算(EOQ、安全库存、OEE 或标准时间)。为执行此计算的 AI 编写一个 Python 函数;通过断言测试强制执行文档字符串和已知结果中的单元。关键验证:尝试使用至少三种边缘情况(零、负、空)的函数,并将其与手工计算的示例进行比较;用已知值证明结果是正确的,即使代码运行没有错误。然后从“数据隐私”的角度审视代码:是否有一个进程将数据发送出去?最后,根据您自己的工作流程调整本单元的验证清单并创建一个清单。
模块考试
1. 在精益制造中,您使用 AI 来创建价值流图 (VSM)。实施该建议之前最好的步骤是什么?
- A) 通过现场 (gemba) 观察和实际循环/停留时间验证 AI 蓝图 ✔
- B) 将地图直接挂在板上,因为 AI 是当前模型
- C) 只需修复地图的颜色和盒子形状
- D) 更改废物类型的顺序并发布
说明:AI根据您提供的信息生成合理的VSM草图,但无法观察实际的流程时间和浪费。精益的基本原则是“gemba”:价值流应通过现场观察和测量来验证,然后用作改进决策的基础。
2. 哪组用于评估需求预测模型准确性的指标可以直接解决此目的?
- A) Cp 和 Cpk
- B) MAPE、MAE 和 RMSE ✔
- C) OEE 和 MTBF
- D) 节拍时间和在制品
说明:MAPE(平均绝对百分比误差)、MAE和RMSE是衡量预测误差的指标;它允许您通过比较预测与实际需求来评估模型的准确性。 Cp/Cpk 是过程能力,OEE 是设备效率指标。
3.在再订购点(ROP)计算中,AI给你一个值。为了安全地使用结果,您首先应该做什么?
- A) 将结果四舍五入并直接输入 ERP
- B) 问人工智能“你确定吗?”并对答案“是”感到满意
- C) 打印公式、输入和使用的单位,并手动/使用代码重现计算 ✔
- D) 彻底重置安全库存
说明:其计算公式为ROP=平均需求×提前期+安全库存。有必要通过显式打印其使用的公式和输入(需求率、交货时间、安全库存)并手动/以代码重新计算来验证人工智能给出的结果;否则单位或算术错误将不会被注意到。
4. 最短处理时间 (SPT) 规则通常可以改善作业调度的哪些方面?
- A) 它仅重置设置时间
- B)物理上增加机器数量
- C) 保证将能源消耗减少一半
- D) 倾向于减少平均流程时间和平均延迟 ✔
描述:SPT(最短处理时间)规则倾向于通过提前短作业来减少平均流程时间和平均延迟。然而,他可以不断地推迟长期任务;如果交货日期很关键,则 EDD 等规则更合适。规则的选择应该根据目的来论证。
5. 如果SPC中的Cpk值明显低于Cp,这意味着什么?
- A) 过程平均值已偏离公差中心(居中问题)✔
- B)过程的方差为零
- C) 说明样本数量多
- D)证明控制图是不必要的
解释:Cp 是熟练度指数,考虑了过程扩展与公差宽度的比率,Cpk 是充分性指数,还考虑了平均值相对于公差中心的偏移。如果Cpk低于Cp,则表明过程偏离中心(平均值远离目标);即使分布相同,也存在居中问题。
6. 在时间研究中计算标准时间时使用AI给出的公式。标准时间是通过以下哪项正确获得的?
- A) 标准时间 = 观察时间,不考虑余量和节奏
- B) 标准时间=正常时间×(1+份额比例);正常时间=观察时间×配速✔
- C) 标准时间 = 观察时间 ÷ 机器数量
- D) 标准时间始终是最快操作员的时间
说明:计算公式为标准时间=正常时间×(1+份额比例);正常时间是通过观察时间×节奏(评级)得出的。必须添加共享(休息、个人、延迟)。 AI可以给出公式,但节奏和份额值必须通过实际观察和公司政策来验证。
7. AI 表示,它为车辆路径(VRP)问题提供了“最佳”解决方案。哪个评价最准确?
- A)直接将路线发送给司机,因为人工智能说“最好”
- B) 根据容量、时间窗口和成本限制验证解决方案 ✔
- C) 只需减少停留次数并发布
- D)可视化地图并忽略约束
解释:人工智能可能会错误地对约束条件(车辆容量、时间窗口、驾驶时间)进行建模,或者将次优解决方案呈现为“最佳”。解决方案;应根据容量、时间窗口和总距离/成本限制对其进行检查,如果可能,进行复制并与求解器进行比较。
8. OEE(整体设备效率)是哪三个组成部分的乘积?
- A) 需求、库存和成本
- B) Cp、Cpk 和 sigma
- C) 可用性、性能和质量 ✔
- D) 节拍、周期和交货时间
解释:OEE = 可用性×性能×质量。可用性反映了停机时间,性能反映了速度损失,质量反映了有缺陷的产品。如果AI给出一个OEE值,就需要保证这三个组成部分分别计算和相乘。
9. 解释离散事件模拟的输出时最关键的验证步骤是什么?
- A) 用真实数据验证输入分布和假设 ✔
- B) 缩短工作时间,在单一条件下做出决策
- C) 改进图形的调色板
- D)隐藏随机种子并使结果不可重复
说明: 仿真输出仅与输入假设一样好。分布、到达间隔时间、服务时间和场景参数应与真实数据进行比较和验证;此外,还应检查模型是否已正确建立(验证)。否则,“垃圾进来,垃圾出去”。
10. 在生产决策中使用 AI 生成的 Python 优化脚本之前,哪一项是强制性的?
- A)直接应用结果,因为代码运行没有错误
- B) 使用已知结果进行测试,通过单元检查和边缘情况进行验证,并保护数据机密性 ✔
- C) 缩短变量名并删除注释
- D) 将包含所有生产数据的脚本上传到公共服务
说明:AI 代码可能包含错误的单位转换、错误的约束或边缘情况下的错误结果。代码;具有已知结果的小测试输入应通过单位/尺寸控制和边缘情况进行验证,未经许可不得将机密生产数据发送到外部服务。该结果经工程判断得到证实。