周末晚上 6 点,一家热门餐厅的后厨像战场一样忙碌:30 桌客人陆续下单,有的菜要蒸 40 分钟,有的要大火快炒,还有客人反复催单。这时后厨需要一个“总调度”——他要瞬间算出:哪道菜先下锅、哪个灶台做哪道菜、派谁去备料,才能保证每桌菜都在承诺时间内上齐。制造业的车间和这个后厨惊人地相似:订单就是点菜单,机器就是灶台,交期就是客人上菜的时间,而产能、工艺、物料这些“厨房规矩”,决定了哪些排法可行。APS(高级计划与排程)就是这位“总调度”的数字化大脑。过去计划员靠手工在 Excel 里排产,面对几百张订单和几十条产线就会手忙脚乱;如今在工业 4.0 环境下,AI 优化排产把老师傅的经验变成数学模型,用人脑无法企及的速度在成千上万种方案中寻找最优组合。这篇文章将带你从“厨房总调度”的视角出发,一步步看懂 APS 的约束建模、启发式求解、强化学习优化,以及它如何真正落地到工厂车间。

岗位关联

APS 是智能制造从“经验驱动”转向“数据驱动”的标志性应用。无论你是算法工程师、产品经理还是车间管理者,理解 AI 优化排产,就等于拿到了读懂工业数字化转型的核心钥匙。

目录
  1. 可视化演示
  2. APS是什么:给工厂请一位总调度
  3. 约束建模:把厨房规矩写进菜谱
  4. 启发式求解:老厨师的“快速试菜”
  5. 强化学习优化:在试错中学会排产
  6. 排产关键指标:车间经营仪表盘
  7. 落地实施路径:从试菜到正式营业
  8. AI 应用场景
  9. Python 演示
  10. 常见误区
  11. 面试题

可视化演示

展示AI优化排产核心:APS约束建模与排产流程、遗传算法与强化学习协同求解、多目标帕累托优化与交付-利用率权衡。

本节配有交互动效(进入视口后自动加载,约 3KB)。

APS排产约束建模 设备(M1-M3)与订单(O1-O5)间存在产能约束、工序优先级约束、交期约束 甘特图展示排产方案,绿色为正常排程,红色为紧急订单 min C_max s.t. Σ(x_ij × t_ij) ≤ Capacity_i APS将生产约束转化为可计算的数学优化模型

APS是什么:给工厂请一位总调度

想象一家周末爆满的餐厅:客人点了 30 桌菜,后厨只有 8 个灶台、12 位厨师,有的菜要蒸 40 分钟,有的要现炒,还有几桌客人要求 7 点前上齐。这时后厨必须有一个“总调度”,决定每道菜在哪个灶台、由谁、按什么顺序做。制造业的车间和这家厨房一模一样:订单就是点菜单,机器就是灶台,交期就是客人要求上菜的时间。

过去这个“总调度”是计划员,靠 Excel 手工排。订单少还凑合,一旦几百个订单、几十条产线同时出现,改一个订单后面全部要重排。APS(Advanced Planning and Scheduling,高级计划与排程)就是这个“总调度”的数字化版本:它把订单、机器、物料、交期放进同一个模型,自动算出一份可执行的生产计划。

在工业 4.0 背景下,设备联网、数据实时采集,APS 成为与 MES、ERP 联动的大脑:ERP 给出订单和交期,MES 回报机器实时状态,APS 在两者之间不断刷新计划,让工厂在波动需求下快速反应。衡量它好坏最直观的指标,是准时交付率(OTD)。

就像总厨要同时盯着“哪桌快超时了、哪个灶台空着、哪位厨师擅长什么”,APS 的核心目标也始终是两件事:准时交付和高效利用资源。谁能把这两件事平衡好,谁就是这家工厂最值钱的总调度。

OTD=N准时交付N总订单×100%\displaystyle OTD = \frac{N_{\text{准时交付}}}{N_{\text{总订单}}} \times 100\%
OTD 表示在所有订单中,按交期准时完成的比例。它像餐厅里“承诺时间内上齐菜的桌数占比”,是排产方案对客户最直接的承诺兑现度。
  1. 分子 N_准时交付统计在交期之前完成加工并出库的订单数量,它代表“没让客人等”的桌数。
    N准时交付N_{\text{准时交付}}
  2. 分母 N_总订单统计该周期内全部订单的数量,它是比较的基准盘。
    N总订单N_{\text{总订单}}
  3. 相除并化为百分比分子除以分母,再乘以 100\%,把比例换算成易读的百分数。
    N准时交付N总订单×100%\displaystyle \frac{N_{\text{准时交付}}}{N_{\text{总订单}}} \times 100\%

约束建模:把厨房规矩写进菜谱

总厨排菜不是随心所欲的:烤箱一次只能放一只烤鸭,炖汤必须在炒菜前备好料,红烧肉要等五花肉送到才能下锅。这些“规矩”决定了什么方案可行、什么方案只是纸上谈兵。排产的第一步,就是把车间里看不见的规矩,一条条翻译成数学语言。

这个过程叫约束建模。常见约束有四类:产能约束(一台机器一天只能干这么多小时)、工序顺序(先钻孔再打磨,顺序不能颠倒)、物料齐套约束(所有原料到齐才能开工)、交期窗口约束(订单有最早开工和最晚完工的时间范围)。在数学上,这些约束表现为等式或不等式,把“可行方案”圈在一个明确区域内。

有了约束还要有目标。APS 优化模型通常把“总拖期量最小化”作为目标:每张订单的实际完工时刻减去它的交期,为正说明拖期,加总越小越好。约束负责划边界,目标负责定方向,两者合在一起,排产就从“凭感觉”变成了“可计算”。

约束建模就像把厨房规矩写进标准菜谱:谁先谁后、哪个设备只能用多久、缺了哪样原料不能开工,全部白纸黑字。模型建得准,后面所有优化算法才能跑在正确轨道上;模型建偏了,再聪明的算法也算出一堆没法下锅的方案。

min⁡∑j=1nmax⁡(0,  Cj−Dj)s.t.∑jpij≤Ti,  ∀i\displaystyle \min \sum_{j=1}^{n} \max\left(0,\; C_j - D_j\right) \quad \text{s.t.} \quad \sum_{j} p_{ij} \le T_i,\; \forall i
前半段是目标:让所有订单的总拖期量最小;后半段是约束:每台机器 i 上所有工序耗时总和不能超过可用时间 T_i。就像菜谱规定“一个灶台一晚上最多做 20 道菜”。
  1. C_j(完工时刻)订单 j 在所有工序完成后离开产线的时刻,对应“这道菜真正端上桌的时间”。
    CjC_j
  2. D_j(交期)客户要求的最晚交付时刻,对应“客人承诺的上菜时限”。
    DjD_j
  3. max(0, ·)(只罚拖期)提前完工没有奖励,只有拖期才把差值计入损失,避免模型为了“更提前”而浪费资源。
    max⁡(0,  Cj−Dj)\max\left(0,\; C_j - D_j\right)
  4. Σ(加总)把 n 张订单的拖期量全部求和,得到整个工厂的总拖期损失。
    ∑j=1n\displaystyle \sum_{j=1}^{n}
  5. 约束式(机器产能)每台机器 i 上所有工序的加工时间总和,不得超过该机器的可用时间 T_i。
    ∑jpij≤Ti,  ∀i\displaystyle \sum_{j} p_{ij} \le T_i,\; \forall i

启发式求解:老厨师的“快速试菜”

面对几十桌的单子,总厨不会傻到把上菜顺序全部试一遍——那比宇宙中的原子还多。他的做法是:先按常识排一版(比如“快上齐的桌优先”“耗时长的菜先下锅”),再盯着明显不合理的地方微调,改完看效果,比之前好就保留。

计算机里的启发式算法是同一个套路。规则启发最简单:按“最早交期优先”(EDD)等规则快速生成初始排产方案。邻域搜索更进一步:把当前方案做一次小改动(比如交换两桌订单的顺序),得到一批“邻居”方案从中挑更优的——像总厨只调两桌菜的顺序,而不是把整个后厨推倒重来。遗传算法模拟“优胜劣汰”:一批排产方案像个体一样交叉、变异,适应度高的存活。禁忌搜索则加了个“记性”,短期内不重复走老路,避免原地打转。

这些方法的共同哲学是:不求绝对最优,只求在可接受时间内给出足够好的可行解。它们的质量需要一个统一标尺来比较,这就是适应度函数——把准时交付率、产能利用率等多个指标压缩成一个分数。

老厨师从不用数学证明自己的方案最优,但他端出来的菜永远又快又好——启发式算法就是把这套“经验加微调”的功夫搬进计算机。它不保证找到传说的“完美菜单”,但保证在你饿死之前,把一桌靠谱的菜端上桌。

Fitness=w1×OTD+w2×U\displaystyle Fitness = w_1 \times OTD + w_2 \times U
适应度函数像总厨的“试菜评分卡”:准时率占 w_1 分,利用率占 w_2 分,总分越高说明这份菜单排得越好。
  1. w_1(准时权重)业务上对交期准时性的重视程度,权重越大,方案越偏向“保交付”。
    w1w_1
  2. OTD(准时交付率)前面定义的准时交付率,代表“按时上齐菜的桌数占比”。
    OTDOTD
  3. w_2 与 U(效率分量)产能利用率的权重与取值,代表“灶台被充分利用的程度”。
    w2×Uw_2 \times U
  4. 加权求和(总分)把两个分量按权重相加,得到单一可比较的适应度分数,供算法取舍。
    w1×OTD+w2×Uw_1 \times OTD + w_2 \times U

强化学习优化:在试错中学会排产

如果这位总厨是个新来的学徒呢?他一开始排得乱七八糟,但每做一单,师傅都会给反馈:“这桌准时上齐,不错”;“这桌拖了 20 分钟,扣分”。学徒把反馈记在心里,下一轮试新做法。几千次之后,他不再需要师傅提醒,自己就知道什么情况该把哪个订单先派出去。

这正是强化学习(RL)排产的思路:把“排产”训练成一个智能体,它观察当前状态——每台机器忙不忙、每个订单还剩多少时间——然后做出动作——下一个派哪个订单上哪台机器。每做完一个动作,环境给它一个奖励信号,智能体的目标就是让累计奖励最大化。

奖励设计是排产智能体的灵魂。奖励函数一般包含三部分:订单准时交付给正奖励,拖期给惩罚,换型(切换产品导致设备停机)给惩罚,用系数 α、β、γ 调节轻重。训练时让智能体在仿真环境里反复试错,收敛后再部署到真实车间,配合实时数据滚动更新排产。

从学徒到老师傅,靠的不是背菜谱,而是一次次被骂、一次次改进。强化学习排产也一样:它在仿真厨房里摔了成千上万跤,才练成“看一眼订单就知道怎么排”的本事。而且它比人类强的地方是——24 小时不累,每次换菜单(改订单)都能快速重新适应。

Rt=α×R准时−β×P拖期−γ×P换型\displaystyle R_t = \alpha \times R_{\text{准时}} - \beta \times P_{\text{拖期}} - \gamma \times P_{\text{换型}}
奖励函数像师傅的“奖惩本”:准时上菜记一功,拖期记一过,频繁洗锅换菜也要扣分。智能体的目标就是让这本账上的总分越来越高。
  1. α(准时奖励系数)控制“准时交付”在奖励中的分量,α 越大,智能体越优先保交期。
    α×R准时\alpha \times R_{\text{准时}}
  2. 拖期惩罚项订单晚于交期完成时产生的负回报,让智能体对“拖延”产生本能厌恶。
    −β×P拖期- \beta \times P_{\text{拖期}}
  3. 换型惩罚项产品切换造成的停机损失计入负回报,鼓励智能体合并同类订单、减少洗锅。
    −γ×P换型- \gamma \times P_{\text{换型}}
  4. 最大化累计奖励智能体通过调整派单策略,让整个生产周期的奖励总和最大。
    max⁡∑tRt\displaystyle \max \sum_{t} R_t

排产关键指标:车间经营仪表盘

总厨忙活一晚,怎么判断自己排得好不好?餐厅老板不看感觉,看数据:客人有没有按时吃上饭,灶台是不是一直在烧,备菜间积压了多少半成品,换一道菜要耽误多少时间。车间里同样有一块“经营仪表盘”。

四个指标最关键。准时交付率(OTD)反映对客户的承诺兑现能力;产能利用率(U)反映设备资源被榨干的程度;在制品库存(WIP)反映车间里堆了多少半成品,堆得越多资金压得越多、流转越慢;换型时间(Setup Time)反映从生产 A 产品切换到 B 产品时的停机损耗,换型越频繁浪费越大。

这些指标常常互相拉扯:追求过高的产能利用率,订单排队变长,准时交付率反而下降;为减少换型把同类订单排在一起,可能拖慢某个紧急订单。优秀的 APS 要在指标间找平衡,而不是把单个指标推到极限。产能利用率的计算式如下。

就像餐厅老板既看翻台率又看等位时长、还看后厨积压,工厂调度团队也必须同时盯住这四块表。单看一块表会骗人,四块放在一起,才看得出总厨的排菜水平是真高还是假高。

U=T实际产出N机器×T可用×100%\displaystyle U = \frac{T_{\text{实际产出}}}{N_{\text{机器}} \times T_{\text{可用}}} \times 100\%
产能利用率像“灶台真正在炒菜的时间占比”。烤箱空烧、灶台空等,都是没有产出的浪费。
  1. T_实际产出(分子)所有机器真正加工产品的时间总和,对应“灶台实际开火炒菜的总时长”。
    T实际产出T_{\text{实际产出}}
  2. 分母(理论总产能)机器台数乘以每台可用时间,对应“所有灶台满负荷工作一晚能提供的总工时”。
    N机器×T可用N_{\text{机器}} \times T_{\text{可用}}
  3. 比值与百分比实际产出除以理论产能再乘 100\%,得到 0-100\% 的利用率。
    T实际产出N机器×T可用×100%\displaystyle \frac{T_{\text{实际产出}}}{N_{\text{机器}} \times T_{\text{可用}}} \times 100\%

落地实施路径:从试菜到正式营业

再厉害的总厨,新店开业也不会直接拍板整套菜单。他先小范围试菜,请老顾客尝,记录反馈,调整配方,再正式上菜单。AI 排产上线也是这条路:先在真实车间“试菜”,稳定之后再推广。

第一步是数据准备:把订单、BOM(物料清单)、工艺路线、设备日历清洗干净——数据不准,排产就像“拿脏菜做菜”。第二步是模型评估:用历史订单回放,把 AI 排产结果与人工排产对比,看准时交付率、产能利用率是否真的提升。第三步是人机协同:计划员保留对结果的审核和调整权,AI 出建议、人做决策,尤其在设备故障、急单插入等异常时刻。第四步是持续迭代:模型要随产品结构、订单结构的变化定期再训练、再校准。

上线后如何量化“是否值得继续用”?可以建立一个综合评分公式,把关键指标加权合并,并扣掉负面项的分数。分数越高,说明这套排产方案整体越健康。

试菜、调整、正式营业、定期更新菜单——APS 落地从来不是一次性项目,而是一套持续运转的管理循环。总厨的终极目标永远是四个字:稳、准、快、省。工厂也一样:交付稳、计划准、响应快、成本省。

Score=w1×OTD+w2×U−w3×WIP\displaystyle Score = w_1 \times OTD + w_2 \times U - w_3 \times WIP
综合评分像餐厅的“月度经营分”:按时上菜加分、灶台利用率加分、半成品积压扣分。总厨每月看这个分就知道要不要调整菜单。
  1. w_1×OTD(交付贡献)准时交付率加权后带来的正分,代表“客人满意度”的贡献。
    w1×OTDw_1 \times OTD
  2. w_2×U(效率贡献)产能利用率加权后带来的正分,代表“设备效率”的贡献。
    w2×Uw_2 \times U
  3. w_3×WIP(在制惩罚)在制品库存越高扣分越多,防止工厂为了追效率疯狂囤半成品。
    w3×WIPw_3 \times WIP
  4. 综合评分正分减负分得到总分,分数越高说明排产方案整体越好,可用于月度对比。
    w1×OTD+w2×U−w3×WIPw_1 \times OTD + w_2 \times U - w_3 \times WIP

AI 应用场景

电子代工厂 SMT 产线排产

阶段:生产排程优化

解决的问题:传统排产依赖计划员经验,面对几百个订单和几十条 SMT 产线,机型切换频繁、急单插单不断,准时交付率长期徘徊在 80\% 左右,换型浪费严重。

具体案例:某手机主板代工厂引入 APS,把换型约束、物料齐套、交期窗口建模,用遗传算法生成排产方案。上线后准时交付率升至 95\%,换型时间下降 30\%,计划员从“手工排表”转为“审核 AI 建议”。

汽车零部件供应链多级排产

阶段:供应链计划协同

解决的问题:主机厂 JIT 拉动式生产,要求零部件供应商在多客户、多产线之间精确配货,人工排产难以平衡“谁先供、供多少”。

具体案例:某汽车座椅供应商用强化学习智能体做滚动排产:以订单状态和设备状态为观察,以派单动作为决策,以准时率和换型惩罚为奖励,在仿真环境预训练后接入真实产线。急单响应时间从半天缩短到 20 分钟,缺料停线次数大幅下降。

新能源电池连续-离散混合排产

阶段:混合流程排产

解决的问题:电池生产既有连续工序(涂布、辊压)又有离散工序(卷绕、装配),约束跨类型、耦合强,传统排产工具难以统一描述。

具体案例:某动力电池工厂用约束建模把连续段的“炉子供料节拍”和离散段的“工位机台分配”统一建模,再叠加禁忌搜索快速求解,产能利用率提升 12\%,在制品库存降低 18\%。

Python 演示

python72 行
# -*- coding: utf-8 -*-"""APS小演示: 用EDD规则生成初始排产, 再用交换搜索改进"""from collections import defaultdictimport random  class Order:    """一个订单, 包含交期和工序列表 [(机器编号, 加工时长), ...]"""     def __init__(self, oid, due, steps):        self.oid = oid        self.due = due        self.steps = steps        self.finish = None  def schedule(orders, machine_num):    """按给定顺序把订单逐工序排到最早空闲的机器上"""    mach_free = defaultdict(int)          # 每台机器下一次可用时刻    busy = [0] * machine_num              # 每台机器累计加工时长    for order in orders:        cur = 0        for machine, dur in order.steps:            cur = max(cur, mach_free[machine])            mach_free[machine] = cur + dur            cur = mach_free[machine]            busy[machine] += dur        order.finish = cur    horizon = max(mach_free.values())    return sum(busy) / (machine_num * horizon)  def score(orders, machine_num):    """综合得分 = 0.6 * 准时率 + 0.4 * 利用率"""    usage = schedule(orders, machine_num)    otd = sum(1 for o in orders if o.finish <= o.due) / len(orders)    return otd * 0.6 + usage * 0.4  def improve(orders, machine_num, rounds=500):    """交换搜索: 随机交换两个订单, 得分变好则保留"""    best = score(orders, machine_num)    for _ in range(rounds):        i, j = random.sample(range(len(orders)), 2)        orders[i], orders[j] = orders[j], orders[i]        new = score(orders, machine_num)        if new >= best:            best = new        else:            orders[i], orders[j] = orders[j], orders[i]    return best  def main():    random.seed(42)    orders = [Order("P%02d" % i, due=random.randint(5, 10),                    steps=[(0, random.randint(1, 3)),                           (1, random.randint(1, 3))])              for i in range(6)]    orders.sort(key=lambda o: o.due)          # EDD规则: 按交期从早到晚    before = score(orders, 2)    print("EDD 规则初始得分: %.3f" % before)    after = improve(orders, 2)    print("交换搜索后得分:  %.3f" % after)    for o in orders:        print("订单%s 完工=%s 交期=%s %s" % (            o.oid, o.finish, o.due,            "准时" if o.finish <= o.due else "拖期"))  if __name__ == "__main__":    main()
目的:演示一条完整的 APS 求解链路——先用 EDD 规则生成初始排产,再用交换搜索(邻域搜索的一种)微调方案,最后输出准时率和综合得分对比。
  1. orders.sort(key=lambda o: o.due)按交期早晚排序,这就是“最早交期优先”规则启发,相当于总厨先把快超时的桌次排前面。
  2. cur = max(cur, mach_free[machine])一道工序必须等前一道工序完成、且目标机器空闲才能开工,这是“工序顺序 + 产能约束”的落地写法。
  3. order.finish = cur记录订单的完工时刻,稍后用来判断是否拖期。
  4. otd * 0.6 + usage * 0.4把准时率和利用率加权合并成一个得分,对应正文的适应度函数。
  5. i, j = random.sample(range(len(orders)), 2)随机挑两个订单准备交换,生成一个“邻居方案”。
  6. if new >= best: best = new else: 换回去得分变好就保留,变差就回退,这是最朴素的邻域搜索策略。

常见误区

误区我觉得 APS 就是做个好看的界面,把原来手填的 Excel 搬到网页上,自动套公式算一下就好了。

正解APS 的核心不是界面而是模型和算法。它要把产能、工序、物料、交期翻译成约束和目标,再用启发式或学习算法求解。没有建模和优化内核,界面再漂亮也只是“会算数的表格”,遇到几百个订单照样排不动。

为何常见:从使用者视角看,APS 的输入输出和 Excel 排产表长得很像,容易低估背后的建模与求解复杂度。

误区AI 排产既然能算出更好的方案,那计划员的经验就没用了,直接让系统全自动运行就行。

正解现实中设备宕机、急单、物料延迟等突发状况永远存在。模型擅长常规场景,但异常判断和最终决策仍需计划员。业界主流是人机协同:AI 出方案,人做确认与修正,像总厨给学徒把关一样。

为何常见:媒体常渲染“AI 取代人类”,让人对自动化程度产生过高预期,忽略了排产现场的不确定性。

误区把生产线所有细节都塞进模型,约束越完整,排出来的方案就越贴近实际。

正解约束越细,求解空间越复杂,计算时间可能指数级增长,而且很多细节参数根本拿不到准确数据。实际做法是抓大放小:先建产能、顺序、交期等核心约束,跑通后再逐步精化。

为何常见:因为感觉“精确等于更好”,忽略了计算复杂度与数据质量的双重限制。

误区遗传算法跑了很多代,输出的排产方案应该就是全局最优,可以直接照做。

正解启发式算法只能保证“找到不错的解”,不保证最优。大规模组合优化里的严格最优往往不可计算。评估标准应是:在可接受时间内给出可执行、且显著优于人工的方案。

为何常见:“最优”这个词在优化语境中被滥用,让人误以为算法真的穷尽了所有可能。

误区把 RL 智能体接上真实产线,让它边生产边学习,这样学得最快最真实。

正解真实产线试错成本极高,一次错误排产可能造成整批报废。标准做法是先建仿真环境预训练,再小范围试点,用真实数据微调,最后逐步扩大范围——就像学徒先在训练厨房练手,而不是直接上高峰期的灶台。

为何常见:把强化学习的“试错”理解成可以在真实环境随意试错,忽略了生产现场的试错成本。

面试题

Q1. APS 的核心目标是什么?

单选题 · easy

  • A.生成统计报表
  • B.制定最优生产计划← 正确答案
  • C.自动维修设备
  • D.管理员工考勤

答案:B。APS 是高级计划与排程,核心是在约束下生成可执行的最优生产计划。生成报表只是副产品,维修设备和员工考勤都不属于排产范畴。就像厨房总调度只负责“把菜排明白”,而不是修灶台或管考勤。

Q2. 约束建模中“物料齐套约束”的厨房比喻是?

单选题 · easy

  • A.顾客所点的菜
  • B.菜品上桌的时限
  • C.后厨配菜的厨师
  • D.原料备齐才下锅← 正确答案

答案:D。物料齐套约束指所有原料到齐才能开工,对应“食材备齐才下锅”。顾客点菜对应订单,上菜时限对应交期,厨师对应产能资源,都不描述原料齐套。

Q3. 邻域搜索中“邻居解”指的是?

单选题 · mid

  • A.一次小改得到的解集← 正确答案
  • B.机器所在位置地图
  • C.仓库物料的摆放
  • D.设备厂商的产地

答案:A。邻居解是对当前排产方案做一次小调整(如交换两个订单顺序)得到的所有新方案集合。它和物理位置、仓库、产地无关,核心是“在现有方案附近小幅试探”。

Q4. 强化学习奖励函数中“换型惩罚”的目的是?

单选题 · mid

  • A.避免频繁切换产品← 正确答案
  • B.提高员工薪资
  • C.增加设备数量
  • D.降低材料成本

答案:A。换型指从 A 产品切到 B 产品时的停机损耗,惩罚它能让智能体主动合并同类订单、减少切换次数。它与薪资、设备数量、材料成本无关。

Q5. 在制品库存(WIP)过高说明?

单选题 · mid

  • A.半成品积压资金← 正确答案
  • B.订单交付更准时
  • C.设备产能全用完
  • D.客户满意度更高

答案:A。WIP 是车间里堆积的半成品,越高说明资金积压越多、流转越慢。它通常不利于交付准时,和客户满意度也没有正相关。

Q6. APS 实施第一步通常做什么?

单选题 · mid

  • A.清洗整理生产数据← 正确答案
  • B.立即切断人工排产
  • C.采购新自动化设备
  • D.直接上线强化学习

答案:A。数据是排产的原料,订单、BOM、工艺路线、设备日历不准,模型再强也算不出可信方案,所以第一步是数据准备。其余选项都跳过了地基直接盖楼。

Q7. 为什么说约束越多求解越难?

单选题 · hard

  • A.解空间缩小计算暴涨← 正确答案
  • B.机器设备转速变慢
  • C.订单数量自动变少
  • D.数据报表更加美观

答案:A。约束变多虽然缩小了可行区域,但组合优化的搜索结构更复杂,验证一个解是否满足全部约束的计算量也上升,整体求解难度常常指数级增长。机器转速、订单数量、报表美观都不受影响。

Q8. 以下哪些属于 APS 的常见约束?

多选题 · mid

  • A.机器产能有限← 正确答案
  • B.工序先后顺序← 正确答案
  • C.物料必须齐套← 正确答案
  • D.员工穿搭风格

答案:ABC。产能约束、工序顺序约束、物料齐套约束是排产的三大核心约束。穿搭风格与生产计划无关,不属于排产模型。

Q9. 评估排产方案常用哪些指标?

多选题 · mid

  • A.准时交付率← 正确答案
  • B.产能利用率← 正确答案
  • C.在制品库存← 正确答案
  • D.食堂满意度

答案:ABC。OTD 衡量交付承诺兑现,U 衡量设备效率,WIP 衡量在制积压,三者是排产评估仪表盘的核心。食堂满意度属于后勤范畴。

Q10. 关于强化学习排产训练与部署,正确的说法有?

多选题 · hard

  • A.先在仿真环境预训练← 正确答案
  • B.奖励设计决定学习方向← 正确答案
  • C.可直接上线随机试错
  • D.收敛后需持续再校准← 正确答案

答案:ABD。RL 排产必须先在仿真环境预训练,奖励函数定义了“什么调度好”,直接上线随机试错会带来高昂的试错成本,部署后还要随订单结构变化持续再校准。