MODEL LAB数学建模交互课
课程进度10/ 16 讲
第 10 讲 · 从“最省”走向“可用且公平”

第 10 讲 · 排班指派与多目标优化

用 0–1 变量完成任务指派与班次覆盖,把硬约束、软约束、公平性和多目标权衡放进同一套可解释方案。

6 个微知识点24 道即时练习答案逐题隐藏无需联网运行
学完能做什么

可检查的学习目标

01
能建立标准 0–1 指派模型
02
能把覆盖、工时、休息与偏好写成硬/软约束
03
能用归一化、权重或 Pareto 解释多目标取舍
知识点01

谁做哪个任务

指派模型的 0–1 矩阵

约 7 min
先猜一猜

4 个人做 4 项任务,一共有多少种分配?为什么不能靠眼睛选?

指派问题把人员与任务配对。xij=1 表示人员 i 执行任务 j,否则为 0。

标准一对一指派要求每人恰好一个任务、每项任务恰好一人。规模增加时组合数迅速增长。

别踩坑行列含义写反漏掉任务唯一性
动手试一试

指派完整性

LIVE

比较局部贪心与整体匹配。

清晰度
78
可信度
48
可用度
55

同一人可能被选中多个任务。

跟我算一遍三人三任务

成本矩阵行=人员、列=任务。

STEP 01

定义 9 个 xij。

立即练习

学一点,马上做 4 题

答案默认隐藏。聚焦题卡后按 Space,一次只揭晓一道。

01计算未作答

4 人 4 任务的一对一指派共有多少种完整排列?

02选择未作答

约束 Σj xij=1 表示?

03判断未作答

对每项任务选成本最低的人,就一定得到可行最优指派。

04简答未作答

某人没有资格做任务 j,应怎样建模?

知识点02

整体最低不是逐格最低

读懂成本矩阵与匈牙利思路

约 9 min
先猜一猜

为什么每行减去最小值不会改变最佳指派?

成本矩阵 cij 可以是时间、费用、损失或不匹配度。匈牙利算法通过行列约简寻找零元素覆盖,利用的是每个指派恰好选每行每列一个。

给某一行所有元素减同一常数,会使每个完整指派总成本都减少同样常数,因此最优相对顺序不变。

别踩坑不同单位直接相加只报算法名不核对原成本
动手试一试

成本矩阵解释

LIVE

比较混合量纲与统一损失。

清晰度
60
可信度
40
可用度
45

单位不同,总和含义不清。

跟我算一遍行约简

某行成本 [7,4,6]。

STEP 01

该行最小值为 4。

立即练习

学一点,马上做 4 题

答案默认隐藏。聚焦题卡后按 Space,一次只揭晓一道。

01计算未作答

成本行 [7,4,6] 做行约简后是?

02判断未作答

给一整行成本都加 10,会改变最优一对一指派。

03选择未作答

成本矩阵的单元格 cij 表示?

04简答未作答

为什么应在原始成本矩阵上重算最终方案?

知识点03

每个时段都要有人

排班核心是覆盖约束

约 11 min
先猜一猜

一天总人数够,为什么午高峰仍可能缺员?

排班要在每个时间段满足最低需求,而不是只满足总人数。班次覆盖矩阵表示某班次是否覆盖某时段。

还要限制每人总工时、连续工作、休息、技能和可用时间。

别踩坑只约束全天总人数忽略班次跨越时段
动手试一试

覆盖颗粒度

LIVE

比较全天总量与逐时段约束。

清晰度
72
可信度
50
可用度
55

人员可能集中在低峰,高峰仍缺。

跟我算一遍午高峰覆盖

11–12 点需 4 人,12–13 点需 6 人。早班覆盖两段,短班只覆盖第二段。

STEP 01

11–12:早班数≥4。

立即练习

学一点,马上做 4 题

答案默认隐藏。聚焦题卡后按 Space,一次只揭晓一道。

01选择未作答

排班最基本的需求约束应该按什么写?

02计算未作答

某时段需 6 人,已有 4 个长班覆盖,还需多少短班至少覆盖?

03判断未作答

总工时满足需求总工时,就一定不存在缺员时段。

04简答未作答

技能型岗位怎样加入覆盖?

本讲主实验 · 拖一拖再下结论

成本与公平的权衡

提高公平权重,观察推荐方案如何从最低成本转向更均衡。

实时更新
观察结果等待计算

调整左侧参数,观察模型输出怎样变化。

实验后想一想

在哪个权重附近推荐方案发生变化?这个临界点比“取 0.5”更能告诉管理者什么?

知识点04

不能违反与尽量满足

硬约束与软约束

约 7 min
先猜一猜

员工希望周末休息,应该像法律休息时长一样绝对禁止违反吗?

硬约束必须满足,例如资质、安全、法定工时;软约束是偏好或服务目标,允许付出惩罚后少量违反。

若把所有偏好都写成硬约束,模型可能无可行解;软约束用偏差变量量化违反程度。

别踩坑偏好全部硬化惩罚系数没有业务含义
动手试一试

规则弹性

LIVE

比较全硬、全软与分层处理。

清晰度
82
可信度
72
可用度
48

可能无解,且偏好被过度放大。

跟我算一遍周末偏好

员工 A 希望周日不上班,但必要时可安排。

STEP 01

安全资质仍是硬约束。

立即练习

学一点,马上做 4 题

答案默认隐藏。聚焦题卡后按 Space,一次只揭晓一道。

01选择未作答

法定最长连续工时更适合设为?

02判断未作答

软约束表示可以不记录违反情况。

03简答未作答

为什么所有偏好都设硬约束容易无解?

04选择未作答

惩罚系数 M 太小可能导致什么?

知识点05

成本、公平、满意度不能直接相加

多目标先统一尺度

约 9 min
先猜一猜

成本 10000 元与不公平度 3 分直接相加,谁会天然占主导?

多目标常有不同方向和单位。加权和前应正向/负向统一并归一化,否则大尺度目标压倒其他目标。

权重表达偏好,不是计算出来就永远正确;可使用加权和、ε 约束、词典序或目标规划。

别踩坑原单位直接加权权重只算一个组合
动手试一试

多目标可比性

LIVE

比较直接相加与归一化权衡。

清晰度
65
可信度
42
可用度
48

万元尺度会吞掉 0–10 的公平分。

跟我算一遍成本与公平

方案 A 成本低但夜班集中,B 成本高 5% 但更均衡。

STEP 01

分别定义总成本与最大夜班差。

立即练习

学一点,马上做 4 题

答案默认隐藏。聚焦题卡后按 Space,一次只揭晓一道。

01判断未作答

不同单位的目标乘权重后可以直接相加,无需归一化。

02计算未作答

两个归一化损失为 0.2、0.8,权重 0.6、0.4,加权损失是多少?

03选择未作答

若安全优先级绝对高于成本,更适合哪种方式?

04简答未作答

为什么应先分别优化每个单目标?

知识点06

给选择,不伪装唯一答案

Pareto 前沿与稳健排班

约 11 min
先猜一猜

如果不存在一个方案在成本、公平、满意度上都最好,什么叫“非劣方案”?

Pareto 最优方案无法在不损害至少一个目标的情况下改进另一个目标。前沿展示真实取舍,而不是强行说某个权重下的结果是唯一真理。

排班还要面对需求、请假和服务时间不确定,可用高低情景、缓冲或滚动重排提高稳健性。

别踩坑把一个权重结果称绝对最优只对平均需求排班
动手试一试

决策输出

LIVE

比较单方案与前沿情景。

清晰度
82
可信度
60
可用度
65

隐藏偏好与不确定性。

跟我算一遍三排班方案

A(成本100,不公平8),B(105,5),C(110,6),均越小越好。

STEP 01

B 比 C 成本更低且更公平,因此 B 支配 C。

立即练习

学一点,马上做 4 题

答案默认隐藏。聚焦题卡后按 Space,一次只揭晓一道。

01选择未作答

A(成本100,不公平8),B(105,5),谁支配谁?

02判断未作答

Pareto 集中的每个方案都同样适合所有决策者。

03简答未作答

怎样让排班对临时请假更稳健?

04选择未作答

被另一方案在所有目标上不差且至少一项更好的方案称为?

离开前完成

做一张兼顾成本与公平的周排班

为 4–8 人、7 天、多个时段建立小型排班模型,重点是规则分层和结果解释。

LOCAL PACK

本地学习资源

讲义、练习、实验与挑战清单均在本地页面内。