📚 PDF资源导航

Common Pitfalls in Decision Mathematics 2 | 决策数学2易错点总结

📚 Common Pitfalls in Decision Mathematics 2 | 决策数学2易错点总结

Decision Mathematics 2 extends your problem-solving toolkit with algorithms for flows, matching, dynamic programming, linear programming, and more. However, many students lose marks not because they fail to understand the concepts, but because they make avoidable slips in notation, interpretation, or algorithm execution. This article brings together the most frequent pitfalls encountered in D2 and offers clear guidance on how to avoid them, so you can approach your exam with confidence.

决策数学2通过流、匹配、动态规划、线性规划等算法扩展了你的问题求解工具箱。然而,许多学生失分并非因为不理解概念,而是因为在符号、解释或算法执行上犯了本可避免的错误。本文汇集了D2中最常见的陷阱,并提供清晰的规避指导,助你自信应对考试。

1. Max-Flow Min-Cut: Misidentifying Augmenting Paths | 最大流最小割:误判增广路径

A common mistake when labelling a network for maximum flow is to mark a node as ‘I’ (increase) from a backward arc without checking that the backward arc actually has a positive flow. Only arcs with strictly positive flow can be used in the reverse direction to send extra flow. Also, students sometimes forget that once a path reaches the sink, they must trace back to find the smallest excess capacity along the path; choosing the wrong bottleneck reduces the flow below the true maximum.

在为最大流标号时,一个常见错误是将某个节点通过反向弧标为“I”(增加),但未检查该反向弧是否确实有正流量。只有流量严格为正的弧才能反向使用以增加额外流量。此外,学生们有时会忘记,一旦路径到达汇点,必须回溯找出路径上的最小剩余容量;如果选错瓶颈,就会使流量低于真正的最大值。

A further subtlety arises when multiple augmenting paths are possible. Selecting a suboptimal sequence of paths may lead to a flow that is not maximal, even if each augmentation is correctly performed. Always verify maximality by trying to find a cut whose capacity equals the current flow value; if such a cut exists, the flow is maximal.

当存在多条增广路径时,还会出现另一种微妙之处。选择一条次优的路径序列可能导致最终流并非最大,尽管每次增广都正确执行。务必通过寻找一个容量等于当前流值的割来验证最大性;若存在这样的割,则流即为最大流。


2. Min-Cut Capacity Calculation Errors | 最小割容量计算错误

When calculating the capacity of a cut, students often include arcs that cross the cut from the sink side to the source side, which should be ignored. Only arcs that go from the source set to the sink set contribute to the cut capacity. Moreover, if an arc crosses the cut in the reverse direction, its capacity is not added — and its flow is not subtracted either. The cut capacity is simply the sum of capacities of forward arcs across the cut.

计算割的容量时,学生常会将从汇侧指向源侧的跨割弧计入,而这些弧应被忽略。只有从源集指向汇集的前向弧才计入割容量。另外,如果某条弧反向跨割,其容量不应加入,其流量也不应减去。割容量仅仅是跨割前向弧的容量之和。

Another error occurs when multiple sources or sinks are present. The initial step of introducing a super-source and super-sink must be done carefully: all edges from the super-source to the original sources should have infinite capacity, as should edges from original sinks to the super-sink. If finite capacities are used, the flow may be artificially restricted.

另一个错误发生在存在多个源或汇时。引入超源和超汇的初始步骤必须小心翼翼:从超源到各原始源的所有边都应具有无限容量,从各原始汇到超汇的边也应如此。若使用有限容量,流量可能被人为限制。


3. Hungarian Algorithm: Handling Unbalanced and Dummy Rows/Columns | 匈牙利法:不平衡问题与虚行/列的处理

For an assignment problem with an unbalanced cost matrix (e.g. more tasks than workers), students sometimes forget to add dummy rows or columns with zero costs to make the matrix square. Omitting dummies leads to an incorrect allocation because the Hungarian algorithm requires a square matrix. Additionally, if the problem is a maximisation, you must first transform the matrix by subtracting all entries from a large number; failing to do so will optimise in the wrong direction.

对于成本矩阵不平衡的分配问题(例如任务多于工人),学生有时忘记添加成本为零的虚行或虚列以将矩阵变为方阵。省略虚行列会导致分配错误,因为匈牙利算法要求方阵。另外,若问题是最大化,必须先将所有元素从一个较大数中减去以转换矩阵;未做转换将导致优化方向错误。

During the row and column reduction steps, a typical slip is to subtract the smallest value from the wrong set or to miss a zero-covering line. Remember: after subtracting row minima and then column minima, the minimum number of lines needed to cover all zeros must equal n; if fewer than n lines are needed, you must adjust the matrix by subtracting the smallest uncovered value and adding it back at intersections. Forgetting to add it at intersections is a frequent cause of wrong optimal solutions.

在行减和列减步骤中,典型的失误是从错误的集合中减去最小值,或者遗漏覆盖零的线条。记住:在减去行最小值和列最小值后,覆盖所有零所需的最少线条数必须为 n;若少于 n 条线,则必须通过减去最小未覆盖值并加回交叉处来调整矩阵。忘记在交叉处加回该值是导致错误最优解的常见原因。


4. Dynamic Programming: Confusing States and Stages | 动态规划:状态与阶段的混淆

Dynamic programming problems (e.g. shortest path, knapsack, equipment replacement) require careful definition of stages and states. A common pitfall is to define the state variable incorrectly, for instance using the remaining capacity as the state when it should be the amount already used, or mixing up the index that denotes the stage. Every recurrence must relate the optimal value at a state to decisions that move to the next stage; if the state space is not clearly described, the recurrence may become inconsistent.

动态规划问题(如最短路径、背包问题、设备更新)需要仔细定义阶段和状态。常见的陷阱是状态变量定义错误,例如将剩余容量作为状态而本应用已用量,或混淆了表示阶段的指标。每个递推关系必须将某状态下的最优值与转移到下一阶段的决策相关联;若状态空间描述不清,递推关系可能变得自相矛盾。

When tabulating, students often forget to record the optimal decision alongside the optimal value. Without the decision trace, you cannot recover the optimal policy. Also, ensure boundary conditions are set correctly: for instance, the value at the final stage might be zero or a terminal reward, and missing this step will propagate errors through the entire table.

在制表时,学生常常忘记在记录最优值的同时记录最优决策。没有决策追踪,就无法恢复最优策略。同时,要确保边界条件设置正确:例如,最后阶段的值可能为零或一个终端收益,遗漏此步骤将使错误传导至整个表格。


5. Recurrence Relations: Initial Conditions and Particular Solutions | 递推关系:初始条件与特解

Solving second-order linear recurrence relations appears frequently. A classic error is to find the complementary function correctly but then mishandle the particular solution. For a non-homogeneous term like 3ⁿ or a polynomial, the trial particular solution must be multiplied by n if it duplicates a term of the complementary function. For example, when the complementary solution contains a term c·2ⁿ and the RHS is 5·2ⁿ, the trial form should be uₙ = A·n·2ⁿ, not simply A·2ⁿ. Failing to adjust the trial function leads to an inconsistent system of equations for the constant A.

二阶线性递推关系的求解经常出现。经典错误是正确求出余函数后,却弄错了特解。对于非齐次项如 3ⁿ 或多项式,若特解的试函数与余函数中的项重复,则必须乘以 n。例如,余函数中含有 c·2ⁿ 而右边是 5·2ⁿ 时,试特解应为 uₙ = A·n·2ⁿ,而非单纯的 A·2ⁿ。未调整试函数会导致求解常数 A 的方程组矛盾。

After obtaining the general solution, students sometimes apply initial conditions incorrectly — especially when the conditions involve u₁ and u₂ rather than u₀ and u₁. Always double-check which terms your formula generates for n=0,1,2,… and align them with the given values. A single off-by-one error can invalidate the whole sequence.

得到通解后,学生有时会错误地应用初始条件——尤其是当条件涉及 u₁ 和 u₂ 而非 u₀ 和 u₁ 时。务必检查你的公式在 n=0,1,2,… 时产生的项是否与给定值对齐。一个单一的偏移量错误就可能使整个序列作废。


6. Simplex Method: Pivot Selection and Ratio Test Mistakes | 单纯形法:枢轴选择与比值检验错误

In the simplex tableau, the entering variable is chosen by the most negative coefficient in the objective row for maximisation, or most positive for minimisation — but only among non-basic variables. A common slip is to pick a variable that is already basic or to misread the sign. For the leaving variable, the ratio test must use strictly positive entries in the pivot column; dividing by a zero or a negative value is invalid. Ignoring this rule can lead to negative RHS values and an infeasible basis.

在单纯形表中,对于最大化问题,选入基变量是依据目标行中最负的系数;对于最小化则是最正的系数——但仅限于非基变量。常见的失误是选择了一个已是基变量的变量,或看错了符号。对于出基变量,比值检验必须使用枢轴列中严格为正的项;除以零或负值是无效的。忽略这一规则会导致右侧值变负和不可行基。

Moreover, when artificial variables are present (Big M method or two-phase), forgetting to assign a large penalty M in the objective can make the artificial variable remain in the basis at a positive level. Also, in the two-phase method, after Phase I you must drop the artificial variables and restore the original objective; leaving them in the tableau produces an incorrect solution.

此外,当存在人工变量时(大M法或两阶段法),忘记在目标中赋予大M惩罚系数可能会使人工变量保持在正水平的基中。而在两阶段法中,完成第一阶段后必须丢弃人工变量并恢复原目标;将它们留在表中会得出错误解。


7. Shadow Prices and Their Interpretation | 影子价格及其解释

Shadow prices (or dual values) indicate the rate of improvement in the objective function per unit increase in a resource, assuming the increase is within the allowable range. A frequent mistake is to quote a shadow price without stating the range of validity, or to treat it as the real-world price. It only holds for small perturbations. Also, the shadow price for a non-binding constraint (slack > 0) is always zero, yet students are often tempted to calculate a non-zero value by mistake.

影子价格(或对偶值)表示在可允许范围内,每增加一单位资源时目标函数的改善率。常见的错误是给出影子价格却不说明其有效范围,或将其视为现实价格。它仅对微小扰动成立。此外,未起约束作用的约束条件(松弛变量 > 0)的影子价格始终为零,但学生常误算出非零值。

When reading shadow prices from the optimal tableau, remember that they appear in the objective row under the slack or surplus columns — but with a sign flip for minimisation problems if you are using a particular convention. Always verify the sign by considering whether adding more of the resource would improve or worsen the objective.

从最优单纯形表中读取影子价格时,要记住它们出现在目标行中松弛或剩余变量列的下方——但若使用特定习惯,最小化问题的符号可能翻转。始终通过考虑增加该资源会改善还是恶化目标来验证符号。


8. Integer Programming: Branch and Bound Missteps | 整数规划:分支定界的常见失误

Branch and bound requires solving the linear programming relaxation at each node. A common error is to branch on a variable that already has an integer value in the relaxation; branching should be done on a variable that is fractional in the current solution. Additionally, after branching, you must impose the constraints x ≤ floor(value) and x ≥ ceil(value) correctly for the two child nodes. Confusing the direction of the inequality leads to infeasible subproblems or missed optimal solutions.

分支定界要求在每个节点求解线性规划松弛问题。常见的错误是对某个在当前松弛解中已是整数的变量进行分支;应针对当前解中为分数的变量进行分支。此外,分支后,必须正确对两个子节点施加 x ≤ floor(值) 和 x ≥ ceil(值) 的约束。混淆不等式方向会导致子问题不可行或遗漏最优解。

In bounding, the best integer solution found so far provides an upper bound (for maximisation) or lower bound (for minimisation). A node can be fathomed if its relaxation objective is worse than the incumbent bound. Sometimes students fathom a node prematurely because they compare with an unachievable bound or forget to update the incumbent when a better integer solution is found.

在定界时,当前找到的最佳整数解提供一个上界(最大化)或下界(最小化)。若某节点的松弛目标值劣于现有最佳界,则该节点可被剪枝。有时学生因与一个不可达到的界进行比较,或找到更好的整数解后忘记更新当前最优解而过早剪枝。


9. Game Theory: Mixed Strategy Computation Errors | 博弈论:混合策略计算错误

When computing mixed strategies for two-person zero-sum games, the dominant approach is to set up linear equations using the principle of equal expected payoffs. A common slip is to write the equation for a player using the wrong payoff matrix orientation, or to forget that probabilities must sum to one. Also, if a game has a saddle point, the mixed strategy calculation is unnecessary and may even produce a spurious solution; always check for a saddle point first.

在计算两人零和博弈的混合策略时,主要方法是利用等期望支付原则建立线性方程。常见的失误是为玩家书写方程时弄错了支付矩阵的方向,或忘记概率之和必须为一。此外,若博弈存在鞍点,则无需混合策略计算,甚至可能得出伪解;务必先检查鞍点。

Another nuance: when reducing a game using dominance arguments, a dominated row or column may be strictly dominated or weakly dominated. Weakly dominated strategies can sometimes be eliminated, but caution is required because they may affect the set of optimal strategies. Students often eliminate a weakly dominated strategy that is part of an optimal mixed strategy, leading to an incorrect reduced game.

另一个细微之处:当利用优势论证简化博弈时,被支配的行或列可能是严格支配或弱支配。弱支配策略有时可消除,但需谨慎,因为它们可能影响最优策略集。学生常消除掉一个作为最优混合策略组成部分的弱支配策略,导致简化博弈错误。


10. Transportation Problem: Degeneracy and u-v Method | 运输问题:退化与u-v法

In the transportation problem, a basic feasible solution must have exactly (m + n – 1) occupied cells. Degeneracy occurs when the number of occupied cells is fewer. Students often overlook degeneracy and then cannot compute the u and v shadow values correctly because the system is underdetermined. To resolve degeneracy, you must place a tiny amount ε (epsilon) in one or more empty cells so that the number of occupied cells becomes m + n – 1, while ensuring independence of the chosen cells.

在运输问题中,基本可行解必须有恰好 (m + n – 1) 个占用格。当占用格数量少于此时即发生退化。学生常忽视退化,进而无法正确计算 u、v 影子值,因为方程组欠定。要解决退化,必须在一个或多个空格中放入微小量 ε,使占用格数达到 m + n – 1,同时确保所选单元格独立。

During the optimality check using the u-v method, forgetting to set one of the dual variables to zero (usually u₁ = 0) is a recurrent error. Then the evaluation of empty cells, given by cᵢⱼ – (uᵢ + vⱼ), will be wrong. Also, when forming a loop to adjust an entering cell, the loop must involve only occupied cells except for the entering cell; any deviation breaks the stepping-stone path.

在用u-v法进行最优性检验时,忘记将某个对偶变量设为零(通常 u₁ = 0)是反复出现的错误。那么空格评价值 cᵢⱼ – (uᵢ + vⱼ) 就会出错。同时,在构造调整入基格的回路时,回路除入基格外必须仅涉及占用格;任何偏离都会破坏”踏脚石“路径。


11. Linear Programming Formulation: Hidden Inequalities | 线性规划建模:隐藏的不等式

Modelling a real-world problem as a linear program demands careful translation of verbal constraints. A typical pitfall is misrepresenting a ratio or a percentage requirement. For example, ‘at least twice as many A as B’ means A ≥ 2B, not 2A ≥ B. Similarly, ‘no more than 30% of total production’ becomes x ≤ 0.3(x + y), which simplifies to 0.7x – 0.3y ≤ 0. Mixing up the coefficients is easy, so always test your inequality with simple numbers.

将实际问题建模为线性规划需要仔细翻译语言约束。典型的陷阱是错误表示比例或百分比要求。例如,“A 至少是 B 的两倍”意为 A ≥ 2B,而非 2A ≥ B。同样,“不超过总产量的30%”变为 x ≤ 0.3(x + y),简化为 0.7x – 0.3y ≤ 0。系数容易混肴,因此务必用简单数字测试你的不等式。

Also, when variables must be integer, do not just add ‘x integer’ as an afterthought if the problem demands integer programming. The simplex method alone will often give fractional answers, which may be unacceptable. Distinguish clearly between continuous and integer variables in your formulation, and be prepared to apply Gomory cuts or branch and bound if required.

另外,当变量必须为整数时,如果问题要求整数规划,不要仅仅事后补充“x 为整数”。单纯形法本身通常会给出分数解,这可能不可接受。在建模中要明确区分连续变量和整数变量,并在需要时准备好应用Gomory割平面或分支定界。


12. Critical Path Analysis: Dummy Activities and Float Confusion | 关键路径分析:虚工作与时差混淆

Although CPA often belongs to D1, it reappears in D2 contexts when scheduling with resource histograms or crashing. A common error is to misuse dummy activities. A dummy is needed when two activities share some, but not all, of their predecessors; omitting it wrongly imposes an extra dependency. Conversely, inserting unnecessary dummies can create redundant constraints and alter the critical path.

虽然关键路径分析常属于D1,但在资源直方图或赶工调度等D2情境中会再次出现。常见错误是误用虚工作。当两项活动共享部分但非全部紧前活动时,需要虚工作;省略它会错误地施加额外依赖。反过来,插入不必要的虚工作会产生冗余限制并改变关键路径。

Floats are another source of confusion. Total float is the amount of time an activity can be delayed without delaying the project, while free float is the delay possible without affecting any successor’s early start. Students often calculate total float but report it as free float, or vice versa. Always use the formulas: Total Float = LST – EST (or LFT – EFT), and Free Float = EST(next) – EFT(this). A negative float indicates an inconsistent network.

时差是另一个混淆源。总时差是一项活动可延迟而不延误项目的时间量,而自由时差是不影响任何后续活动最早开始时间可延迟的时间量。学生常计算出总时差却报告为自由时差,或反之。务必使用公式:总时差 = 最迟开始 – 最早开始(或最迟完成 – 最早完成),自由时差 = 后续的EST – 本活动的EFT。负时差表明网络存在不一致。


Published by TutorHao | Decision Mathematics Revision Series | aleveler.com

更多咨询请联系16621398022(同微信)

Comments

屏轩国际教育cambridge primary/secondary checkpoint, cat4, ukiset,ukcat,igcse,alevel,PAT,STEP,MAT, ibdp,ap,ssat,sat,sat2课程辅导,国外大学本科硕士研究生博士课程论文辅导

This site uses Akismet to reduce spam. Learn how your comment data is processed.

Discover more from aleveler.com

Subscribe now to keep reading and get access to the full archive.

Continue reading