简介:这份运筹学期末练习试卷面向高校运筹学课程学习者与备考学生,用于系统检验建模、概念理解与计算求解能力。试卷涵盖线性规划建模、整数规划建模、名词解释、网络分析与决策树、运输问题表上作业法及对偶理论等核心考点,题目均配有解答过程,便于对照复盘解题思路。资源包共1个doc文件,约1.09MB,内容完整呈现建模题、作图填空题与综合计算题的题干及参考答案,适合考前自测与知识点查漏补缺。已有571人学习下载,可作为课程复习的实战演练材料,帮助读者熟悉题型分布、掌握分支定界与互补松弛性等解题技巧,并借助完整解答理解从建模到求解的完整逻辑链条。
1. 运筹学到底在算什么:从一张生产计划表说起
如果你手头有一家小厂,两道工序、两种产品、一份利润表,老板问你“怎么排产最赚钱”,你大概会先愣一下——这不是拍脑袋能拍出来的。运筹学就是干这件事的:把“资源有限、目标明确”的现实问题,翻译成数学语言,再交给模型去算。它不神秘,本质是一套“用数学做决策”的方法论。这份运筹学期末练习试卷,恰好把这条主线串了起来:建模题让你把生产场景写成线性规划,名词解释考你定性与定量的边界,网络图题算工期和关键路径,计算题则要求你真的解出最优解。搞懂它,你就拿到了一把拆解资源分配问题的钥匙。
2. 线性规划:把“怎么排产最赚钱”写成数学题
2.1 一句话定义与生活化类比
线性规划,通俗地说,就是在若干“不能超过”的限制下,找一个“最大”或“最小”的答案。打个比方,你有一个背包,容量固定,面前摆着几样东西,每样都有重量和价值,你想装得最值钱——这就是线性规划。区别在于,现实里的“背包”可能是两道工序的工时、三种钢材的库存、若干人工小时,而“价值”就是利润。
试卷第一道建模题就是标准范本:A、B 两种产品都要过前道和后道两道化学反应,A 每单位耗前道 2 小时、后道 3 小时,B 每单位耗前道 3 小时、后道 4 小时;前道总共 200 小时,后道 240 小时。A 每单位赚 5 元,B 每单位赚 10 元,而且每生产 1 个单位 B 会附带产出 2 个单位副产品 C,C 每单位赚 3 元,但最多只能卖 10 个单位,卖不掉的要花 1 元销毁。题目只要求建模、不要求求解,这恰恰点出了线性规划的核心动作:先把现实翻译成变量、目标函数和约束条件,算不算得出来是下一步的事。
2.2 建模的三件套:变量、目标、约束
任何线性规划模型都逃不开三样东西。第一是决策变量,也就是“你能拍板的东西”,这道题里是 A 的产量 x1、B 的产量 x2,以及销毁的 C 的数量 x3。第二是目标函数,即“你想最大化的东西”,这里是总利润:5x1 + 10x2 + 3×(能卖出的 C) − 1×x3。第三是约束条件,即“现实不允许你越过的线”:前道工时 2x1 + 3x2 ≤ 200,后道工时 3x1 + 4x2 ≤ 240,C 的销售上限和产销平衡关系也要写成等式或不等式。
这里有个容易被忽略的细节:副产品 C 的产量是 2x2,能卖出的部分最多 10 个单位,卖不掉的才销毁,所以“卖出量 + 销毁量 = 2x2”这条平衡约束不能漏。漏了它,模型就会凭空多出利润,算出来的方案在现实中根本落不了地。建模题只给 10 分、不要求求解,考的就是你有没有把这种“隐藏的账”算清楚。
用一段伪代码把结构写出来更直观:
# 决策变量:x1 = A产量, x2 = B产量, x3 = 销毁的C数量 # 目标:最大化利润 # 卖出C的数量 = min(2*x2, 10),建模时用辅助变量表达 maximize 5*x1 + 10*x2 + 3*sold_C - 1*x3 subject to 2*x1 + 3*x2 <= 200 # 前道工时约束 3*x1 + 4*x2 <= 240 # 后道工时约束 sold_C + x3 == 2*x2 # C的产销平衡 sold_C <= 10 # C的销售上限 x1, x2, x3, sold_C >= 0代码里的每一行都对应现实中的一句话,注释就是翻译对照表。参数怎么改?工时上限变了就改 200 和 240,利润单价变了就改系数,销售上限变了就改 10。真正要盯的是约束之间有没有互相打架——比如后道工时给得特别紧,模型可能直接把 x2 压到零,这时候副产品 C 也跟着没了,利润结构会整个变样。
2.3 整数规划:为什么“生产 1500 辆”比“生产 1499.6 辆”难得多
试卷第二题把场景换成了汽车厂:微型车、中级车、高级轿车,各自消耗钢材和人工,利润不同,而且有个“经济规模”门槛——微型车至少 1500 辆、中级车至少 1200 辆、高级车至少 1000 辆才允许生产。这就是整数规划的典型面孔:决策变量必须是整数(车辆数不能是小数),而且带“要么不生产、要么至少生产这么多”的开关逻辑。
为什么整数规划比线性规划难?打个比方,线性规划像是在一条平滑的坡上找最高点,你顺着坡度走总能走到;整数规划则像在楼梯上找最高台阶,你没法“半步半步”地挪,只能一格一格跳,跳错方向就得回头。试卷里“只建模、无需求解”的要求很务实——真要求解,得引入 0-1 变量来表示“是否生产某车型”,再用分支定界之类的算法去搜,手算基本不现实。
这道题的建模关键是把“经济规模”写成两段式约束:设一个 0-1 变量 y 表示该车型是否投产,产量 x 满足 x ≥ 1500y 且 x ≤ 上限×y。y 取 0 时产量被压到 0,y 取 1 时产量至少 1500。钢材 6000 吨、人工 55000 小时的资源上限则是常规的线性约束。这套“大 M 法”或“开关变量”的写法,是整数规划建模里最常见的踩坑点——忘了写上限,模型可能给你一个“投产但产量为零”的荒唐解。
2.4 对偶问题:同一枚硬币的另一面
试卷名词解释里提到“线性规划的对偶问题”,答案不唯一,但核心思想很统一:任何一个“最大化利润”的线性规划,都对应一个“最小化资源代价”的对偶问题。通俗地说,原问题问“我该怎么排产”,对偶问题问“如果把这些工时和钢材租出去,最低该收多少钱才不亏”。两者最优值相等,这叫强对偶性。
这个性质的价值在于:原问题变量多、约束少时不好算,转成对偶问题可能变量少、约束多,反而好解;而且对偶变量(也叫影子价格)直接告诉你“多一小时工时值多少钱”,对决策者来说比原始解更有信息量。试卷第四大题的综合题就考了这个——给一个线性规划,要求写出对偶问题并用互补松弛性求对偶最优解。互补松弛性的直觉是:某个约束如果没卡紧(有富余),对应的对偶变量就是零;某个对偶变量大于零,说明那条资源是稀缺的、值得多买。
3. 网络图与关键路径:项目工期是怎么算出来的
3.1 活动、紧前关系与网络图
试卷第三大题给了一张工程资料表:活动 A 到 F,各自有持续时间和紧前活动,要求画网络图、找关键路线、算完工时间,还要回答“活动 B 可以推迟几天不误工期”。这类问题属于网络分析,工具叫 PERT 图或 CPM 图,本质是把项目拆成活动,用箭头表示先后关系,再顺着图算时间。
打个比方,装修房子:水电没做完,瓦工进不了场;瓦工没完,地板铺不了。网络图就是把这种“谁必须在谁之前”的关系画出来,然后找出整条链上最长的那个路径——它决定了项目最短要多久完工,所以叫关键路线。试卷里关键路线是 A-E-F,完工时间 14 天,这两个答案是一体两面:关键路线上各活动时间之和就是总工期。
3.2 最早开始、最晚开始与“可以推迟几天”
“活动 B 可以推迟 4 天而不延误工期”这句话,背后是两套时间的差:最早开始时间(ES)和最晚开始时间(LS)。ES 是顺着网络图从前往后推,每个活动最早能什么时候动手;LS 是从后往前推,为了不拖累总工期,最晚必须什么时候动手。两者之差叫总时差,B 的总时差是 4,意味着它有 4 天的缓冲空间。关键路线上的活动总时差为零,所以 E 可以推迟 0 天——它一天都拖不起。
这里有个常见误区:总时差不是“随便用”的。如果 B 真的推迟了 4 天,它后面的活动可能被挤到没有缓冲,一旦再出岔子就直接拖工期。所以总时差更像“后悔药”,能不吃尽量不吃。试卷用填空形式考这几个数,就是在训练你对“时间账”的敏感度。
3.3 网络图建模的注意点
画网络图时,两个活动如果共享同一个紧前活动、又各自引出后续活动,容易画出“交叉箭头”导致逻辑混乱,规范做法是引入虚活动(持续时间为零的箭头)来理清先后。试卷的表格里 C 的紧前是 B、D 的紧前是 A 和 C、E 的紧前是 A、F 的紧前是 D 和 E,这种多前驱结构如果不画虚活动,很容易把“A 和 C 都完成后 D 才能开始”错画成“A 完成后 D 就能开始”。建模题不要求求解,但网络图题要求你画对图,图错了后面所有时间全错。
4. 常见误区与易混概念:别把这几对搞反了
4.1 定性分析与定量分析:不是“谁更高级”
试卷名词解释第一题就是这对概念。定性分析靠决策者的经验、性格、环境判断,主观性强;定量分析靠数据和模型,客观性强。易混点在于有人觉得定量一定比定性好——其实不然。数据不足、问题太新、变量无法量化时,硬套模型反而会得出“精确的错误”。区分方法很简单:看决策依据是“人的判断”还是“可验证的数据”。两者常常配合使用,先用定性圈定问题边界,再用定量在边界内优化。
4.2 线性规划与整数规划:差的不只是“取整”
很多人以为整数规划就是线性规划算完把小数四舍五入,这是典型的翻车点。四舍五入后的解可能根本不满足约束(比如资源超了),也可能离真正最优解很远。两者的本质区别在可行域的形状:线性规划的可行域是连续的多边形,最优解在顶点;整数规划的可行域是一堆离散的点,求解要靠分支定界、割平面等专门算法。试卷第二题特意加了“经济规模”门槛,就是在提醒你:整数约束往往和逻辑开关绑在一起,不是简单取整能对付的。
4.3 关键路线与最短路线:一字之差,含义相反
网络图里“关键路线”是耗时最长的路径,它决定项目总工期;而“最短路线”通常指两点之间距离最短的走法。初学者容易把“关键”理解成“最重要所以最短”,恰恰搞反了——关键路线之所以关键,是因为它最长、没有一点缓冲,任何延误都会直接推迟完工。区分方法:算总工期找最长路径,算运输成本找最短路径,两个问题方向相反。
4.4 原问题与对偶问题:最优值相等,不代表解相同
对偶问题的最优值和原问题相等,但最优解是两套完全不同的变量。原问题的解是“生产多少”,对偶问题的解是“资源值多少钱”。易混点在于拿对偶解去当生产计划用,或者反过来。区分方法看变量量纲:原问题变量带产品单位,对偶变量带“元/单位资源”的价格单位。试卷综合题要求“求对偶问题最优解”,考的就是你能不能分清这两套解各自代表什么。
4.5 总时差与自由时差:缓冲不是随便挪的
总时差是不影响总工期的可推迟时间,自由时差是不影响紧后活动最早开始的可推迟时间。前者管全局,后者管局部,自由时差通常小于等于总时差。试卷只问了总时差,但实际项目管理里,动用了总时差可能吃掉后续活动的自由空间,引发连锁反应。区分方法:看“不影响谁”——不影响总工期是总时差,不影响下一个活动是自由时差。
5. 什么时候该用运筹学,什么时候别硬套
运筹学不是万能锤子。它最适合的场景有三个特征:目标明确(利润最大或成本最小)、资源可量化(工时、钢材、预算有具体数字)、约束能写成线性或整数关系。试卷里的排产、汽车厂投产、织布机分配,都符合这三条,所以建模顺理成章。反过来,如果问题里的关键因素根本没法量化——比如品牌声誉、员工士气、政策风向——硬塞进目标函数只会得到一堆好看但没用的数字。还有一种情况要警惕:数据本身不可靠。线性规划对参数很敏感,工时估错 10%,最优解可能整个翻盘,这时候先做敏感性分析比急着求解更明智。
拿试卷第一题做个边界演示:如果副产品 C 的市场需求不是“最多 10 个单位”而是“价格随销量波动”,那目标函数里 3 元/单位的常数就不成立了,模型得改成非线性规划,求解难度上一个台阶。这时候更务实的做法是分段线性化,或者干脆用情景分析代替精确求解。再比如汽车厂那道题,如果“经济规模”门槛可以谈判、可以分批投产,整数规划的开关变量就得重新设计,甚至问题性质会变。
我自己的习惯是:拿到任何资源分配问题,先花十分钟确认三件事——变量是不是真的能连续取值、约束是不是真的线性、数据是不是真的可信。这三关过不了,宁可退回定性判断,也不硬建一个“看起来很美”的模型。从那以后我每次动笔写目标函数之前,都强制走一遍这个三问清单,省下了不少返工的功夫。这份试卷的价值也在这里:它用六道题把建模、概念、网络、求解串成一条线,让你在动笔之前先想清楚“这题到底在考什么”。希望帮到你。
本文还有配套的精品资源,点击获取