一、AI 讲解
运筹学是研究在给定的资源限制下如何进行有效决策的学问。其中,线性规划和动态规划是两种重要的运筹方法,它们在解决资源优化分配、成本最小化、收益最大化等问题上有着广泛的应用。
线性规划
线性规划是一种数学方法,用于在满足一系列线性不等式或等式约束条件下,寻找线性目标函数的最大值或最小值。线性规划的一般形式可以表达为:
-
目标函数: Maximize (or Minimize) (Z = c_1x_1 + c_2x_2 + … + c_nx_n)
-
约束条件: (a_{11}x_1 + a_{12}x_2 + … + a_{1n}x_n \leq (\text{or} \geq, =) b_1)
…
(a_{m1}x_1 + a_{m2}x_2 + … + a_{mn}x_n \leq (\text{or} \geq, =) b_m)
-
非负约束: (x_1, x_2, …, x_n \geq 0)
线性规划的一个典型例子是生产问题,比如一个工厂生产两种产品,每种产品的利润和生产所需的原材料、时间等都是已知的,如何安排生产以达到最大利润。
动态规划
动态规划是一种通过把原问题分解为相对简单的子问题的方式来解决复杂问题的方法。它通常用于解决具有重叠子问题和最优子结构特性的问题。动态规划通常用于序列问题、最优路径问题等,其基本思想是从最简单的子问题开始逐步求解,将每个子问题的解存储起来,避免重复计算。
- 最优子结构:一个问题的最优解包含其子问题的最优解。
- 重叠子问题:在求解过程中,某些问题会被多次求解。
动态规划的一个经典例子是背包问题,即给定一组物品,每种物品都有自己的重量和价值,在限定的总重量内,选择某些物品装入背包,使得背包内物品的总价值最大。
二、AI 出题
(1)题目
-
下列哪项是线性规划问题的典型特征?
- A. 目标函数是非线性的
- B. 约束条件包含非线性等式
- C. 目标函数和约束条件均为线性
- D. 没有约束条件
-
动态规划适用于解决哪类问题?
- A. 仅含有最优子结构的问题
- B. 仅含有重叠子问题的问题
- C. 含有最优子结构和重叠子问题的问题
- D. 既不含最优子结构也不含重叠子问题的问题
-
在解决一个最大化的线性规划问题时,若某变量的增加导致目标函数值减小,则该变量的系数可能是?
- A. 正数
- B. 负数
- C. 零
- D. 正数或零
-
背包问题在动态规划中的解法通常采用哪种策略?
- A. 贪心算法
- B. 分而治之
- C. 记忆化搜索
- D. 递归解法
-
在线性规划中,非负约束的目的是什么?
- A. 确保解是正值
- B. 限制变量不为负
- C. 增加计算难度
- D. 减少约束条件的数量
-
动态规划解决问题的基础是什么?
- A. 将大问题分解为小问题
- B. 重复利用已解决的子问题
- C. 将问题转化为图论问题
- D. A 和 B
-
线性规划的标准形式不包括哪一项?
- A. 最大化目标函数
- B. 约束条件为不等式
- C. 约束条件为等式
- D. 所有变量都有非负约束
-
哪一种情况下最适合使用动态规划来解决问题?
- A. 问题可以分解为不相交的子问题
- B. 子问题之间没有相互关联
- C. 子问题在求解过程中会重复出现
- D. 每个子问题都是唯一的,不会重复
-
在动态规划中,下面哪一项不是进行状态定义时的考虑因素?
- A. 状态转移方程的复杂度
- B. 解的可行性
- C. 子问题的独立性
- D. 解的最优性
-
线性规划中的“单纯形法”主要用于解决什么问题?
- A. 找到可行解
- B. 从可行解中选择最优解
- C. 增加约束条件
- D. 减少变量数量
(2)答案和解析
-
答案: C。线性规划的定义就是目标函数和所有约束条件均为线性。
-
答案: C。动态规划特别适用于解决具有最优子结构和重叠子问题的复杂问题。
-
答案: B。如果变量增加导致目标函数值减小,说明该变量在目标函数中的系数为负。
-
答案: C。动态规划解决背包问题通常采用记忆化搜索策略,以避免重复计算相同的子问题。
-
答案: B。非负约束确保所有的决策变量值不为负,这是现实问题中的常见要求。
-
答案: D。动态规划的基础是将大问题分解为小问题并重复利用已解决的子问题。
-
答案: C。线性规划的标准形式中,约束条件可以是不等式,但不限定必须有等式约束条件。
-
答案: C。动态规划适合解决子问题重复出现的情况,通过记忆化以提高效率。
-
答案: C。在动态规划中,考虑的是状态转移方程的复杂度、解的可行性和最优性,而子问题的独立性并非主要考虑因素。
-
答案: B。单纯形法是一种算法,用于在给定的可行解集中找到线性规划问题的最优解。
三、真题
3.1 线性规划
3.2 动态规划