22、数学与经济管理(运筹学) 核心考点与学习笔记

【软考架构师】数学与经济管理(运筹学) 核心考点与学习笔记(超详细解析+图解)

摘要:本文为软考高级系统架构设计师(第20章:数学与经济管理)的学习笔记。运筹学与数学经济管理是软考中极具"套路"的客观题模块,常以3~5分的形式出现。内容涵盖图论应用(最小生成树、最大流量、最短路径)、运筹方法(线性规划、动态规划)、以及决策论、决策树、盈亏平衡点、状态转移矩阵、运输问题和指派问题。针对复杂的算法推演过程,本文利用 Mermaid 语法绘制了计算流程图,并总结了"破圈法"、"增广路法"、"匈牙利法"等秒杀技巧,助你稳拿考卷中的"数学分"!

目录

  • [1. 图论应用(⭐⭐⭐)](#1. 图论应用(⭐⭐⭐))
    • [1.1 最小生成树问题](#1.1 最小生成树问题)
    • [1.2 最大流量问题](#1.2 最大流量问题)
    • [1.3 最短路径问题](#1.3 最短路径问题)
  • [2. 运筹方法(⭐⭐)](#2. 运筹方法(⭐⭐))
    • [2.1 线性规划问题](#2.1 线性规划问题)
    • [2.2 动态规划问题(背包问题)](#2.2 动态规划问题(背包问题))
  • [3. 数学与经济管理(其他)(⭐⭐⭐)](#3. 数学与经济管理(其他)(⭐⭐⭐))
    • [3.1 不确定性决策问题](#3.1 不确定性决策问题)
    • [3.2 决策树问题](#3.2 决策树问题)
    • [3.3 盈亏平衡点](#3.3 盈亏平衡点)
    • [3.4 状态转移矩阵(马尔可夫链)](#3.4 状态转移矩阵(马尔可夫链))
    • [3.5 最优解问题(运输问题)](#3.5 最优解问题(运输问题))
    • [3.6 指派问题(匈牙利算法)](#3.6 指派问题(匈牙利算法))
  • [4. 总结与备考建议](#4. 总结与备考建议)

1. 图论应用(⭐⭐⭐)

图论题目在软考中几乎属于必考送分题。掌握算法套路,无需死记硬背,只需画图推演即可。

1.1 最小生成树问题

考点 :使所有节点连通,且所有边权值之和最小(即"最小联通路径问题")。

口诀 :数顶点、减一得边数;从小到大排好队,选边千万别成环。

例题解析:

下图标明了六个城市(A~F)之间的公路长度。使各个城市之间均可通达,至少要改造总计()公里的公路,这种方案共有()个。

解题思路(克鲁斯卡尔算法 - 破圈法):

  1. 定边数 :图中有6个顶点,根据 边数 = 顶点数 - 1,需要选出 5条边。
  2. 排好队 :将图中的边按长度从小到大排序:
    • 200:AE、FD
    • 300:AB、BF、AF、CD、CF (注:看图得知)
    • 400:BC、AC、EF
  3. 选边防成环 :
    • 第1步:选 AE (200)。
    • 第2步:选 FD (200)。
    • 第3步:在300的边中挑。如果选BF,则B、F、D连通;如果选AB,则A、B、E连通;为了连通这6个点,必须把CF(300)或CD(300)选上(假设选CD,则F、D、C连通)。
    • 第4、5步:为了让A、E所在子图与B、F、C、D所在子图连通,必须在 AF(300)、AB(300)、BF(300) 等之间选择。
    • 选取的5条边(如:AE, FD, CD, AF, AB)总长度为:200+200+300+300+300 = 1300。
  4. 计算方案数 :由于 A-E-F-B 之间的300边可以有多种组合(AF必选,AB和BF只能选其一以保证不成环),且 F-C-D 之间也有多种组合,排列组合后,共有 3种 等价方案。

#mermaid-svg-9DKUyEWhmvop0fmG{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}@keyframes edge-animation-frame{from{stroke-dashoffset:0;}}@keyframes dash{to{stroke-dashoffset:0;}}#mermaid-svg-9DKUyEWhmvop0fmG .edge-animation-slow{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 50s linear infinite;stroke-linecap:round;}#mermaid-svg-9DKUyEWhmvop0fmG .edge-animation-fast{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 20s linear infinite;stroke-linecap:round;}#mermaid-svg-9DKUyEWhmvop0fmG .error-icon{fill:#552222;}#mermaid-svg-9DKUyEWhmvop0fmG .error-text{fill:#552222;stroke:#552222;}#mermaid-svg-9DKUyEWhmvop0fmG .edge-thickness-normal{stroke-width:1px;}#mermaid-svg-9DKUyEWhmvop0fmG .edge-thickness-thick{stroke-width:3.5px;}#mermaid-svg-9DKUyEWhmvop0fmG .edge-pattern-solid{stroke-dasharray:0;}#mermaid-svg-9DKUyEWhmvop0fmG .edge-thickness-invisible{stroke-width:0;fill:none;}#mermaid-svg-9DKUyEWhmvop0fmG .edge-pattern-dashed{stroke-dasharray:3;}#mermaid-svg-9DKUyEWhmvop0fmG .edge-pattern-dotted{stroke-dasharray:2;}#mermaid-svg-9DKUyEWhmvop0fmG .marker{fill:#333333;stroke:#333333;}#mermaid-svg-9DKUyEWhmvop0fmG .marker.cross{stroke:#333333;}#mermaid-svg-9DKUyEWhmvop0fmG svg{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;}#mermaid-svg-9DKUyEWhmvop0fmG p{margin:0;}#mermaid-svg-9DKUyEWhmvop0fmG .label{font-family:"trebuchet ms",verdana,arial,sans-serif;color:#333;}#mermaid-svg-9DKUyEWhmvop0fmG .cluster-label text{fill:#333;}#mermaid-svg-9DKUyEWhmvop0fmG .cluster-label span{color:#333;}#mermaid-svg-9DKUyEWhmvop0fmG .cluster-label span p{background-color:transparent;}#mermaid-svg-9DKUyEWhmvop0fmG .label text,#mermaid-svg-9DKUyEWhmvop0fmG span{fill:#333;color:#333;}#mermaid-svg-9DKUyEWhmvop0fmG .node rect,#mermaid-svg-9DKUyEWhmvop0fmG .node circle,#mermaid-svg-9DKUyEWhmvop0fmG .node ellipse,#mermaid-svg-9DKUyEWhmvop0fmG .node polygon,#mermaid-svg-9DKUyEWhmvop0fmG .node path{fill:#ECECFF;stroke:#9370DB;stroke-width:1px;}#mermaid-svg-9DKUyEWhmvop0fmG .rough-node .label text,#mermaid-svg-9DKUyEWhmvop0fmG .node .label text,#mermaid-svg-9DKUyEWhmvop0fmG .image-shape .label,#mermaid-svg-9DKUyEWhmvop0fmG .icon-shape .label{text-anchor:middle;}#mermaid-svg-9DKUyEWhmvop0fmG .node .katex path{fill:#000;stroke:#000;stroke-width:1px;}#mermaid-svg-9DKUyEWhmvop0fmG .rough-node .label,#mermaid-svg-9DKUyEWhmvop0fmG .node .label,#mermaid-svg-9DKUyEWhmvop0fmG .image-shape .label,#mermaid-svg-9DKUyEWhmvop0fmG .icon-shape .label{text-align:center;}#mermaid-svg-9DKUyEWhmvop0fmG .node.clickable{cursor:pointer;}#mermaid-svg-9DKUyEWhmvop0fmG .root .anchor path{fill:#333333!important;stroke-width:0;stroke:#333333;}#mermaid-svg-9DKUyEWhmvop0fmG .arrowheadPath{fill:#333333;}#mermaid-svg-9DKUyEWhmvop0fmG .edgePath .path{stroke:#333333;stroke-width:2.0px;}#mermaid-svg-9DKUyEWhmvop0fmG .flowchart-link{stroke:#333333;fill:none;}#mermaid-svg-9DKUyEWhmvop0fmG .edgeLabel{background-color:rgba(232,232,232, 0.8);text-align:center;}#mermaid-svg-9DKUyEWhmvop0fmG .edgeLabel p{background-color:rgba(232,232,232, 0.8);}#mermaid-svg-9DKUyEWhmvop0fmG .edgeLabel rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#mermaid-svg-9DKUyEWhmvop0fmG .labelBkg{background-color:rgba(232, 232, 232, 0.5);}#mermaid-svg-9DKUyEWhmvop0fmG .cluster rect{fill:#ffffde;stroke:#aaaa33;stroke-width:1px;}#mermaid-svg-9DKUyEWhmvop0fmG .cluster text{fill:#333;}#mermaid-svg-9DKUyEWhmvop0fmG .cluster span{color:#333;}#mermaid-svg-9DKUyEWhmvop0fmG div.mermaidTooltip{position:absolute;text-align:center;max-width:200px;padding:2px;font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:12px;background:hsl(80, 100%, 96.2745098039%);border:1px solid #aaaa33;border-radius:2px;pointer-events:none;z-index:100;}#mermaid-svg-9DKUyEWhmvop0fmG .flowchartTitleText{text-anchor:middle;font-size:18px;fill:#333;}#mermaid-svg-9DKUyEWhmvop0fmG rect.text{fill:none;stroke-width:0;}#mermaid-svg-9DKUyEWhmvop0fmG .icon-shape,#mermaid-svg-9DKUyEWhmvop0fmG .image-shape{background-color:rgba(232,232,232, 0.8);text-align:center;}#mermaid-svg-9DKUyEWhmvop0fmG .icon-shape p,#mermaid-svg-9DKUyEWhmvop0fmG .image-shape p{background-color:rgba(232,232,232, 0.8);padding:2px;}#mermaid-svg-9DKUyEWhmvop0fmG .icon-shape .label rect,#mermaid-svg-9DKUyEWhmvop0fmG .image-shape .label rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#mermaid-svg-9DKUyEWhmvop0fmG .label-icon{display:inline-block;height:1em;overflow:visible;vertical-align:-0.125em;}#mermaid-svg-9DKUyEWhmvop0fmG .node .label-icon path{fill:currentColor;stroke:revert;stroke-width:revert;}#mermaid-svg-9DKUyEWhmvop0fmG :root{--mermaid-font-family:"trebuchet ms",verdana,arial,sans-serif;} 选取步骤演示
选边 AE=200
选边 FD=200
选边 CD=300 连通C和D
选边 AF=300 连通A和F
选边 AB=300 或 BF=300 连通B

答案:1300公里,3个方案。(选择 B,C)

1.2 最大流量问题

考点 :从起点(源点)到终点(汇点)单位时间内能通过的最大运输量。

解题核心方法 :增广路法(Ford-Fulkerson算法)。不断寻找从源点到汇点还有剩余容量的路径,直到找不到任何路径为止。

例题解析:

各节点之间的运输能力(万吨/小时)如表所示。求从节点①到节点⑥的最大运输能力(流量)。

解题步骤(图表法手推):

  • 路径1:① -> ② -> ⑤ -> ⑥,通过能力受限于最小边 min(6, 7, 21) = 6。更新剩余容量。
  • 路径2:① -> ③ -> ⑤ -> ⑥,通过能力 min(10, 14, 15) = 10(因为⑤->⑥的容量21被占了6,剩15)。更新剩余容量。
  • 路径3:① -> ④ -> ⑥,通过能力 min(10, 5) = 5。更新剩余容量。
  • 路径4:此时正向路径基本饱和。我们需要找"反向边"(即退流操作)来调整流量。通过反向边,再次找到一条路径 ① -> ③ -> ⑤ -> ② -> ④ -> ⑥(注:这里涉及反向抵消计算)。
  • 路径5:① -> ③ -> ② -> ⑤ -> ⑥,通过能力 min(剩余) = 1。
  • 累加 :将上述找到的所有可达路径上的最大流量相加:10 + 6 + 5 + 1 + 1 = 23 万吨/小时。

#mermaid-svg-XjcucHDKDWO3DwFt{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}@keyframes edge-animation-frame{from{stroke-dashoffset:0;}}@keyframes dash{to{stroke-dashoffset:0;}}#mermaid-svg-XjcucHDKDWO3DwFt .edge-animation-slow{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 50s linear infinite;stroke-linecap:round;}#mermaid-svg-XjcucHDKDWO3DwFt .edge-animation-fast{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 20s linear infinite;stroke-linecap:round;}#mermaid-svg-XjcucHDKDWO3DwFt .error-icon{fill:#552222;}#mermaid-svg-XjcucHDKDWO3DwFt .error-text{fill:#552222;stroke:#552222;}#mermaid-svg-XjcucHDKDWO3DwFt .edge-thickness-normal{stroke-width:1px;}#mermaid-svg-XjcucHDKDWO3DwFt .edge-thickness-thick{stroke-width:3.5px;}#mermaid-svg-XjcucHDKDWO3DwFt .edge-pattern-solid{stroke-dasharray:0;}#mermaid-svg-XjcucHDKDWO3DwFt .edge-thickness-invisible{stroke-width:0;fill:none;}#mermaid-svg-XjcucHDKDWO3DwFt .edge-pattern-dashed{stroke-dasharray:3;}#mermaid-svg-XjcucHDKDWO3DwFt .edge-pattern-dotted{stroke-dasharray:2;}#mermaid-svg-XjcucHDKDWO3DwFt .marker{fill:#333333;stroke:#333333;}#mermaid-svg-XjcucHDKDWO3DwFt .marker.cross{stroke:#333333;}#mermaid-svg-XjcucHDKDWO3DwFt svg{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;}#mermaid-svg-XjcucHDKDWO3DwFt p{margin:0;}#mermaid-svg-XjcucHDKDWO3DwFt .label{font-family:"trebuchet ms",verdana,arial,sans-serif;color:#333;}#mermaid-svg-XjcucHDKDWO3DwFt .cluster-label text{fill:#333;}#mermaid-svg-XjcucHDKDWO3DwFt .cluster-label span{color:#333;}#mermaid-svg-XjcucHDKDWO3DwFt .cluster-label span p{background-color:transparent;}#mermaid-svg-XjcucHDKDWO3DwFt .label text,#mermaid-svg-XjcucHDKDWO3DwFt span{fill:#333;color:#333;}#mermaid-svg-XjcucHDKDWO3DwFt .node rect,#mermaid-svg-XjcucHDKDWO3DwFt .node circle,#mermaid-svg-XjcucHDKDWO3DwFt .node ellipse,#mermaid-svg-XjcucHDKDWO3DwFt .node polygon,#mermaid-svg-XjcucHDKDWO3DwFt .node path{fill:#ECECFF;stroke:#9370DB;stroke-width:1px;}#mermaid-svg-XjcucHDKDWO3DwFt .rough-node .label text,#mermaid-svg-XjcucHDKDWO3DwFt .node .label text,#mermaid-svg-XjcucHDKDWO3DwFt .image-shape .label,#mermaid-svg-XjcucHDKDWO3DwFt .icon-shape .label{text-anchor:middle;}#mermaid-svg-XjcucHDKDWO3DwFt .node .katex path{fill:#000;stroke:#000;stroke-width:1px;}#mermaid-svg-XjcucHDKDWO3DwFt .rough-node .label,#mermaid-svg-XjcucHDKDWO3DwFt .node .label,#mermaid-svg-XjcucHDKDWO3DwFt .image-shape .label,#mermaid-svg-XjcucHDKDWO3DwFt .icon-shape .label{text-align:center;}#mermaid-svg-XjcucHDKDWO3DwFt .node.clickable{cursor:pointer;}#mermaid-svg-XjcucHDKDWO3DwFt .root .anchor path{fill:#333333!important;stroke-width:0;stroke:#333333;}#mermaid-svg-XjcucHDKDWO3DwFt .arrowheadPath{fill:#333333;}#mermaid-svg-XjcucHDKDWO3DwFt .edgePath .path{stroke:#333333;stroke-width:2.0px;}#mermaid-svg-XjcucHDKDWO3DwFt .flowchart-link{stroke:#333333;fill:none;}#mermaid-svg-XjcucHDKDWO3DwFt .edgeLabel{background-color:rgba(232,232,232, 0.8);text-align:center;}#mermaid-svg-XjcucHDKDWO3DwFt .edgeLabel p{background-color:rgba(232,232,232, 0.8);}#mermaid-svg-XjcucHDKDWO3DwFt .edgeLabel rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#mermaid-svg-XjcucHDKDWO3DwFt .labelBkg{background-color:rgba(232, 232, 232, 0.5);}#mermaid-svg-XjcucHDKDWO3DwFt .cluster rect{fill:#ffffde;stroke:#aaaa33;stroke-width:1px;}#mermaid-svg-XjcucHDKDWO3DwFt .cluster text{fill:#333;}#mermaid-svg-XjcucHDKDWO3DwFt .cluster span{color:#333;}#mermaid-svg-XjcucHDKDWO3DwFt div.mermaidTooltip{position:absolute;text-align:center;max-width:200px;padding:2px;font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:12px;background:hsl(80, 100%, 96.2745098039%);border:1px solid #aaaa33;border-radius:2px;pointer-events:none;z-index:100;}#mermaid-svg-XjcucHDKDWO3DwFt .flowchartTitleText{text-anchor:middle;font-size:18px;fill:#333;}#mermaid-svg-XjcucHDKDWO3DwFt rect.text{fill:none;stroke-width:0;}#mermaid-svg-XjcucHDKDWO3DwFt .icon-shape,#mermaid-svg-XjcucHDKDWO3DwFt .image-shape{background-color:rgba(232,232,232, 0.8);text-align:center;}#mermaid-svg-XjcucHDKDWO3DwFt .icon-shape p,#mermaid-svg-XjcucHDKDWO3DwFt .image-shape p{background-color:rgba(232,232,232, 0.8);padding:2px;}#mermaid-svg-XjcucHDKDWO3DwFt .icon-shape .label rect,#mermaid-svg-XjcucHDKDWO3DwFt .image-shape .label rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#mermaid-svg-XjcucHDKDWO3DwFt .label-icon{display:inline-block;height:1em;overflow:visible;vertical-align:-0.125em;}#mermaid-svg-XjcucHDKDWO3DwFt .node .label-icon path{fill:currentColor;stroke:revert;stroke-width:revert;}#mermaid-svg-XjcucHDKDWO3DwFt :root{--mermaid-font-family:"trebuchet ms",verdana,arial,sans-serif;} 6
10
10
7
14
1
4
5
21
①
②
③
④
⑤
⑥

答案:23(选择 B)。

1.3 最短路径问题

考点 :从起点到终点经历的总权值(费用/距离)最小的一条路径。

核心算法 :Dijkstra算法(迪杰斯特拉) 。

解题步骤:

  1. 设起点为S,S到S的距离为0,S到其他节点为∞。
  2. 找出距离最小的节点,将其加入"已确定集合"。
  3. 通过新加入的节点,更新其邻居节点的距离(如果经过新节点更近,则更新)。
  4. 重复步骤2,直到所有节点都加入集合。

案例分析:

从城市s发送到城市t,线条数字代表费用。求至少需要花费多少元?

  • 表格法推演:从s出发,不断用当前距离最短的节点去更新其他节点,记录前驱节点。
  • 路径推演结果:s -> 2 -> 3 -> 5 -> 9 -> t (假设推演得出此路径)。
  • 费用计算:21 + 20 + 12 + 10 + 18 = 81万元。

答案:81(选择 A)。


2. 运筹方法(⭐⭐)

2.1 线性规划问题

考点 :在给定的线性约束条件下,求目标函数的最大值或最小值。

解题步骤:

  1. 设未知数(如生产甲X套,乙Y套)。
  2. 列出目标函数(利润最大化):Max Z = 2X + 3Y。
  3. 列出约束条件不等式组:
    • 2X + 3Y ≤ 14 (设备限制)
    • 8X ≤ 16 (原材料A限制,即 X ≤ 2)
    • 3Y ≤ 12 (原材料B限制,即 Y ≤ 4)
    • X ≥ 0, Y ≥ 0
  4. 画图求解(找交点) :由于只需凑答案,可以直接将选项代入检验。
    • 代入A(2,3):Z=22+33=13
    • 代入B(1,4):Z=21+34=14
    • 代入C(3,4):X=3不满足X≤2约束,排除。
    • 代入D(4,2):X=4不满足X≤2约束,排除。

答案:B方案利润最大(14万元)。

2.2 动态规划问题(背包问题)

考点 :将复杂问题拆解为多阶段决策,通常结合"单位价值/利润"进行贪心选择。

例题解析:

用一辆载重10吨的卡车装运货物,获得最大利润。每件利润表略。

解题思路:

  1. 算单位利润:将每种货物的 利润 / 重量 算出来。
    • A: 53/1 = 53
    • B: 52/2 = 26
    • C: 54/3 = 18
    • D: 54/4 = 13.5
    • E: 53/5 = 10.6
    • F: 53/6 = 8.83
  2. 贪心策略:优先拿单位利润最高的。D最高(13.5),其次是A(53)。
  3. 凑重量:拿2件D(重8吨,利润108*2? 注:原表D单件利润为216,单位54。假设件利润,按原表216/4=54。更正:D单位利润54,A为53,B为52)。
    • 选2件D:重8吨,利润 = 216 * 2 = 432元。剩余2吨。
    • 选2件A:重2吨,利润 = 53 * 2 = 106元。
    • 总利润 = 432 + 106 = 538元。

答案:538元(选择D)。


3. 数学与经济管理(其他)(⭐⭐⭐)

3.1 不确定性决策问题

面对未来可能发生的多种情况(如宏观经济的景气、不景气),如何进行决策?有四大准则:

准则名称 决策原则(口诀) 操作步骤 示例(收益矩阵)
乐观主义准则 大中取大 每个方案挑最大值,再从中挑最大。 积极方案最大500,稳健300,保守400。选500对应的积极。
悲观主义准则 小中取大 每个方案挑最小值,再从中挑最大。 积极方案最小50,稳健150,保守200。选200对应的保守。
后悔值准则 大中取小 (最小最大后悔值) 1. 算出每列的理想最大值。 2. 用理想最大值减去该列所有值,得到后悔值矩阵。 3. 每个方案挑最大后悔值,再从中选最小的。 以景气为例,最大500。积极后悔0,稳健200,保守300。
等可能性准则 平均主义 假设每种情况发生概率相同,求各方案期望值,选最大。 (乐观 + 中间 + 悲观) / 3

注:后悔值矩阵制作口诀:"先竖列找最大,再横列相减,最后找最大后悔值中的最小者"。

3.2 决策树问题

考点 :结合概率计算期望收益(Expected Monetary Value, EMV)。

公式 :某节点期望值 = Σ (各分支概率 × 对应收益) - 投资成本

例题解析:

建大厂投资500万,销路好(70%)每年获利200万,不好(30%)亏20万。建小厂投资200万,好获利100万,不好获利20万。前2年好,后5年好概率变80%;前2年不好,后5年好概率10%。求7年最大总收益。

计算过程(画树形图):
#mermaid-svg-9lXorFreUeGpGy2x{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}@keyframes edge-animation-frame{from{stroke-dashoffset:0;}}@keyframes dash{to{stroke-dashoffset:0;}}#mermaid-svg-9lXorFreUeGpGy2x .edge-animation-slow{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 50s linear infinite;stroke-linecap:round;}#mermaid-svg-9lXorFreUeGpGy2x .edge-animation-fast{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 20s linear infinite;stroke-linecap:round;}#mermaid-svg-9lXorFreUeGpGy2x .error-icon{fill:#552222;}#mermaid-svg-9lXorFreUeGpGy2x .error-text{fill:#552222;stroke:#552222;}#mermaid-svg-9lXorFreUeGpGy2x .edge-thickness-normal{stroke-width:1px;}#mermaid-svg-9lXorFreUeGpGy2x .edge-thickness-thick{stroke-width:3.5px;}#mermaid-svg-9lXorFreUeGpGy2x .edge-pattern-solid{stroke-dasharray:0;}#mermaid-svg-9lXorFreUeGpGy2x .edge-thickness-invisible{stroke-width:0;fill:none;}#mermaid-svg-9lXorFreUeGpGy2x .edge-pattern-dashed{stroke-dasharray:3;}#mermaid-svg-9lXorFreUeGpGy2x .edge-pattern-dotted{stroke-dasharray:2;}#mermaid-svg-9lXorFreUeGpGy2x .marker{fill:#333333;stroke:#333333;}#mermaid-svg-9lXorFreUeGpGy2x .marker.cross{stroke:#333333;}#mermaid-svg-9lXorFreUeGpGy2x svg{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;}#mermaid-svg-9lXorFreUeGpGy2x p{margin:0;}#mermaid-svg-9lXorFreUeGpGy2x .label{font-family:"trebuchet ms",verdana,arial,sans-serif;color:#333;}#mermaid-svg-9lXorFreUeGpGy2x .cluster-label text{fill:#333;}#mermaid-svg-9lXorFreUeGpGy2x .cluster-label span{color:#333;}#mermaid-svg-9lXorFreUeGpGy2x .cluster-label span p{background-color:transparent;}#mermaid-svg-9lXorFreUeGpGy2x .label text,#mermaid-svg-9lXorFreUeGpGy2x span{fill:#333;color:#333;}#mermaid-svg-9lXorFreUeGpGy2x .node rect,#mermaid-svg-9lXorFreUeGpGy2x .node circle,#mermaid-svg-9lXorFreUeGpGy2x .node ellipse,#mermaid-svg-9lXorFreUeGpGy2x .node polygon,#mermaid-svg-9lXorFreUeGpGy2x .node path{fill:#ECECFF;stroke:#9370DB;stroke-width:1px;}#mermaid-svg-9lXorFreUeGpGy2x .rough-node .label text,#mermaid-svg-9lXorFreUeGpGy2x .node .label text,#mermaid-svg-9lXorFreUeGpGy2x .image-shape .label,#mermaid-svg-9lXorFreUeGpGy2x .icon-shape .label{text-anchor:middle;}#mermaid-svg-9lXorFreUeGpGy2x .node .katex path{fill:#000;stroke:#000;stroke-width:1px;}#mermaid-svg-9lXorFreUeGpGy2x .rough-node .label,#mermaid-svg-9lXorFreUeGpGy2x .node .label,#mermaid-svg-9lXorFreUeGpGy2x .image-shape .label,#mermaid-svg-9lXorFreUeGpGy2x .icon-shape .label{text-align:center;}#mermaid-svg-9lXorFreUeGpGy2x .node.clickable{cursor:pointer;}#mermaid-svg-9lXorFreUeGpGy2x .root .anchor path{fill:#333333!important;stroke-width:0;stroke:#333333;}#mermaid-svg-9lXorFreUeGpGy2x .arrowheadPath{fill:#333333;}#mermaid-svg-9lXorFreUeGpGy2x .edgePath .path{stroke:#333333;stroke-width:2.0px;}#mermaid-svg-9lXorFreUeGpGy2x .flowchart-link{stroke:#333333;fill:none;}#mermaid-svg-9lXorFreUeGpGy2x .edgeLabel{background-color:rgba(232,232,232, 0.8);text-align:center;}#mermaid-svg-9lXorFreUeGpGy2x .edgeLabel p{background-color:rgba(232,232,232, 0.8);}#mermaid-svg-9lXorFreUeGpGy2x .edgeLabel rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#mermaid-svg-9lXorFreUeGpGy2x .labelBkg{background-color:rgba(232, 232, 232, 0.5);}#mermaid-svg-9lXorFreUeGpGy2x .cluster rect{fill:#ffffde;stroke:#aaaa33;stroke-width:1px;}#mermaid-svg-9lXorFreUeGpGy2x .cluster text{fill:#333;}#mermaid-svg-9lXorFreUeGpGy2x .cluster span{color:#333;}#mermaid-svg-9lXorFreUeGpGy2x div.mermaidTooltip{position:absolute;text-align:center;max-width:200px;padding:2px;font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:12px;background:hsl(80, 100%, 96.2745098039%);border:1px solid #aaaa33;border-radius:2px;pointer-events:none;z-index:100;}#mermaid-svg-9lXorFreUeGpGy2x .flowchartTitleText{text-anchor:middle;font-size:18px;fill:#333;}#mermaid-svg-9lXorFreUeGpGy2x rect.text{fill:none;stroke-width:0;}#mermaid-svg-9lXorFreUeGpGy2x .icon-shape,#mermaid-svg-9lXorFreUeGpGy2x .image-shape{background-color:rgba(232,232,232, 0.8);text-align:center;}#mermaid-svg-9lXorFreUeGpGy2x .icon-shape p,#mermaid-svg-9lXorFreUeGpGy2x .image-shape p{background-color:rgba(232,232,232, 0.8);padding:2px;}#mermaid-svg-9lXorFreUeGpGy2x .icon-shape .label rect,#mermaid-svg-9lXorFreUeGpGy2x .image-shape .label rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#mermaid-svg-9lXorFreUeGpGy2x .label-icon{display:inline-block;height:1em;overflow:visible;vertical-align:-0.125em;}#mermaid-svg-9lXorFreUeGpGy2x .node .label-icon path{fill:currentColor;stroke:revert;stroke-width:revert;}#mermaid-svg-9lXorFreUeGpGy2x :root{--mermaid-font-family:"trebuchet ms",verdana,arial,sans-serif;} 后5年好 80%
后5年不好 20%
后5年好 10%
后5年不好 90%
决策
建大厂 -500万
建小厂 -200万
前2年好 70%
前2年不好 30%
收益: 200*7 = 1400
收益: 200*2 - 20*5 = 300
收益: -20*2 + 200*5 = 960
收益: -20*7 = -140

  • 大厂收益期望:
    • 分支1:0.7 * (0.81400 + 0.2300) = 0.7 * (1120 + 60) = 826
    • 分支2:0.3 * (0.1960 + 0.9(-140)) = 0.3 * (96 - 126) = -9
    • 总期望 = 826 - 9 = 817万。
    • 净利润 = 817 - 500 = 317万。
  • 小厂收益期望(同理计算):
    • 总期望 = ... = 小厂净利润约 300多万。
  • 对比得出选大厂,略多于300万。

答案:B(建大厂,总收益略多于300万元)。

3.3 盈亏平衡点

考点 :企业不盈不亏时的产量或销量。

公式 :盈亏平衡点 = 固定成本 / (单价 - 单位变动成本)

例题 :固定成本30万元,变动成本1000元/次,价格1500元/次。

计算:300000 / (1500 - 1000) = 300000 / 500 = 600次。

答案:C(600次)。

3.4 状态转移矩阵(马尔可夫链)

考点 :根据当前的占有率,以及转移概率,预测下一期或未来第n期的市场占有率。

例题 :当前A占50%,B占50%。转移矩阵P = \[0.8, 0.2, 0.4, 0.6]。

计算:

  • 第1个月:A = 50% * 0.8 (A保留) + 50% * 0.4 (B转给A) = 40% + 20% = 60%。
  • 第2个月:A = 60% * 0.8 + 40% * 0.4 = 48% + 16% = 64%。
  • 变化:A的份额增加了14%,B减少14%。

答案:C(A的份额增加了14%)。

3.5 最优解问题(运输问题)

考点 :在多个产地和多个销地之间,寻找总运费最低的运输方案。

解题方法 :表上作业法(西北角法找初始基可行解 -> 闭回路法计算检验数 -> 迭代优化)。

  • 软考技巧:由于计算量大,通常考查观察能力和消元法。找单位运费最小的路径优先分配,满额划掉行列,最后检查是否满足所有需求量/供应量。如果遇到历年重复考题,直接背答案。本题答案为83(A)。

3.6 指派问题(匈牙利算法)

考点 :n个人做n件事,求总成本最低。

解题四步曲:

  1. 行减最小:每行减去该行的最小值。
  2. 列减最小:若某列没有0,则减去该列的最小值。
  3. 试指派:找独立0元素(画圈,同行同列不能有圈)。若能找到n个圈,完成。否则:
  4. 画盖0线:对没有画圈的行打√,对打√行中0所在列打√,对打√列中圈所在行打√。画直线覆盖没有打√的行和打√的列。找到未被覆盖的最小元素,打√的行减去该值,打√的列加上该值,回到第三步。

例题:

矩阵:\[1,4,6,3, 9,7,10,9, 4,5,11,7, 8,7,8,5]

步骤:

  • 行减最小(分别减1, 7, 4, 5):\[0,3,5,2, 2,0,3,2, 0,1,7,3, 3,2,3,0]
  • 列减最小(第3列最小为3):\[0,3,2,2, 2,0,0,2, 0,1,4,3, 3,2,0,0]
  • 找独立0元素:
    • 甲选A(0)
    • 乙选B(0)
    • 丁选C(0)
    • 丙选D(剩余,列减后为3。等等,看表,实际最优解推导)。
    • 通过画线逼近,最终得到最优分配,得出任务乙由机器C(或根据矩阵推算的结果)执行。

答案:根据计算结果选对应机器(C)。


4. 总结与备考建议

运筹学模块虽然在日常系统架构设计中不常用,但它是软考中区分度极高的数学逻辑题。建议备考策略如下:

  1. 图论题必拿:最小生成树(数顶点-1,从小到大选,不成环)、最大流量(增广路法)、最短路径(Dijkstra算法找最小边松弛)。这些都是可以通过简单画图和表格推演出来的"送分题"。
  2. 决策论套公式:记住"大中取大(乐观)"、"小中取大(悲观)"、"大中取小(后悔值)"的口诀,画个后悔值矩阵表就出来了。
  3. 盈亏平衡与转移矩阵:公式很简单,计算时细心点即可。
  4. 指派与运输问题:了解基本原理,考试时如果时间紧张,可以用排除法和贪心思想去凑,不要死磕计算量过大的题目,把时间留给案例分析。

推荐复习顺序:图论(20分钟) -> 决策论(15分钟) -> 动态规划/线性规划(10分钟) -> 复杂计算题(留到最后或战略放弃)。

祝各位考友在考场上思路清晰,算得又快又准,逢考必过!


标签:#软考 #系统架构设计师 #运筹学 #数学与经济管理 #图论 #决策论 #马尔可夫链 #学习笔记

相关推荐
日日大王学编程1 小时前
AI 时代后端方向新人的未来规划与看法
人工智能·后端·python·ai·golang
小哈里1 小时前
【Agent】从Prompt工程、Context工程到 Harness工程,让 AI 能真正完成工作
人工智能·prompt·agent·ai编程·harness
Juicedata1 小时前
从 Meta 的工程实践看 EB 级 AI 存储架构
人工智能·架构
小弥儿1 小时前
38K星的开源项目 t3code:给 Claude Code 和 Codex 装一个手机遥控器
学习·智能手机·开源·github
土星云SaturnCloud2 小时前
基于边缘计算与AI视觉的智慧街面治理方案:架构设计与场景落地
服务器·人工智能·ai·边缘计算
武子康2 小时前
DOA 100%、GSC 改善 12 dB,ESP32-P4 远场拾音就能用了吗?
人工智能·后端·agent
tianxuanjg2 小时前
无人机科研轻量化结构件采购指南|高校实验室选型避坑:轻量化与结构强度如何兼顾
人工智能·经验分享·机器人·无人机·制造
Python大数据分析@2 小时前
DeepSeek Harnees实用的3个插件导航
人工智能
BioTender2 小时前
Hugging Face 发布 Carbon-X:一个能够直接理解 DNA 的大语言模型
人工智能·语言模型·自然语言处理