运筹学优化问题体系概述# 运筹学的核心在于对实际优化问题进行合理的数学抽象与划分。根据问题的数学结构和决策特点,优化问题可分类为:
线性与非线性规划 :根据决策关系是否满足比例性和相加性进行划分。
单目标与多目标规划 :根据决策目标的个数进行划分。
非整数与整数规划 :根据决策变量的取值范围是否离散(整数)进行划分。
静态与动态规划 :根据决策是否跨越多个时间阶段且前后相互关联进行划分。
以下针对各章节的核心典型案例进行深入剖析,并给出数学模型或计算原理。
典型问题数学建模与计算原理# 1. 线性规划问题:生产计划决策#
问题描述 :某工厂在计划期内要安排生产 Ⅰ、Ⅱ 两种产品。已知生产单位产品所需的设备台时、原材料消耗及可获利润如下表所示:
资源类型 产品 Ⅰ 产品 Ⅱ 资源拥有量限制 设备 1 台时 2 台时 8 台时 原材料 A 4 kg 0 kg 16 kg 原材料 B 0 kg 4 kg 12 kg 单位利润 2 元 3 元
数学模型 :
设 x 1 x_1 x 1 和 x 2 x_2 x 2 分别为产品 Ⅰ、Ⅱ 的计划产量:
max z = 2 x 1 + 3 x 2 \max z = 2x_1 + 3x_2 max z = 2 x 1 + 3 x 2
s.t. { x 1 + 2 x 2 ≤ 8 4 x 1 ≤ 16 4 x 2 ≤ 12 x 1 , x 2 ≥ 0 \text{s.t. } \begin{cases} x_1 + 2x_2 \le 8 \\ 4x_1 \le 16 \\ 4x_2 \le 12 \\ x_1, x_2 \ge 0 \end{cases} s.t. ⎩ ⎨ ⎧ x 1 + 2 x 2 ≤ 8 4 x 1 ≤ 16 4 x 2 ≤ 12 x 1 , x 2 ≥ 0
求解结论 :采用 图解法 可求得最优决策点为 B ( 50 , 250 ) B(50, 250) B ( 50 , 250 ) (注意:此处为比例放大后的数值,原模型最优解通常为 x 1 = 4 , x 2 = 2 x_1=4, x_2=2 x 1 = 4 , x 2 = 2 ,若按 Slide 7 的标注,其坐标解为放大后的最优解),最优目标值 z = 27500 z=27500 z = 27500 。
2. 多目标规划问题:投资决策平衡#
问题描述 :投资商有 90,000 元资金,准备投资于股票 A 和 B(可同时投资)。股票的有关参数如下表:
股票名称 单价(元) 年收益(元/股·年) 风险系数 股票 A 20 3 (收益率 15%) 0.5 股票 B 50 4 (收益率 8%) 0.2
决策要求 :设计一种投资方案,使得一年的总投资风险不高于 700,且投资收益不低于 10,000 元。
数学模型 :
设投资股票 A 和 B 的股数分别为 x 1 x_1 x 1 和 x 2 x_2 x 2 。
收益目标: max f 1 ( x 1 , x 2 ) = 3 x 1 + 4 x 2 \text{收益目标:} \max f_1(x_1, x_2) = 3x_1 + 4x_2 收益目标: max f 1 ( x 1 , x 2 ) = 3 x 1 + 4 x 2
风险目标: min f 2 ( x 1 , x 2 ) = 0.5 x 1 + 0.2 x 2 \text{风险目标:} \min f_2(x_1, x_2) = 0.5x_1 + 0.2x_2 风险目标: min f 2 ( x 1 , x 2 ) = 0.5 x 1 + 0.2 x 2
约束条件: { 20 x 1 + 50 x 2 ≤ 90000 3 x 1 + 4 x 2 ≥ 10000 0.5 x 1 + 0.2 x 2 ≤ 700 x 1 , x 2 ≥ 0 \text{约束条件:} \begin{cases} 20x_1 + 50x_2 \le 90000 \\ 3x_1 + 4x_2 \ge 10000 \\ 0.5x_1 + 0.2x_2 \le 700 \\ x_1, x_2 \ge 0 \end{cases} 约束条件: ⎩ ⎨ ⎧ 20 x 1 + 50 x 2 ≤ 90000 3 x 1 + 4 x 2 ≥ 10000 0.5 x 1 + 0.2 x 2 ≤ 700 x 1 , x 2 ≥ 0
3. 整数规划问题:集装箱托运决策#
问题描述 :某公司拟用集装箱托运甲、乙两种货物。两种货物每件的体积、重量、可获利润以及托运限制如下表所示:
货物名称 每件体积(立方英尺) 每件重量(百千克) 每件利润(百元) 甲种货物 195 4 2 乙种货物 273 40 3 托运限制 1365 140
此外,受合同限制,甲种货物至多托运 4 件 。问两种货物各托运多少件,可使获得的总利润最大?
数学模型 :
设甲、乙两种货物的托运件数分别为 x 1 x_1 x 1 和 x 2 x_2 x 2 。
max z = 2 x 1 + 3 x 2 \max z = 2x_1 + 3x_2 max z = 2 x 1 + 3 x 2
s.t. { 195 x 1 + 273 x 2 ≤ 1365 (体积限制) 4 x 1 + 40 x 2 ≤ 140 (重量限制) x 1 ≤ 4 (合同限制) x 1 , x 2 ≥ 0 , 且为整数 \text{s.t. } \begin{cases} 195x_1 + 273x_2 \le 1365 & \text{(体积限制)} \\ 4x_1 + 40x_2 \le 140 & \text{(重量限制)} \\ x_1 \le 4 & \text{(合同限制)} \\ x_1, x_2 \ge 0, \text{且为整数} \end{cases} s.t. ⎩ ⎨ ⎧ 195 x 1 + 273 x 2 ≤ 1365 4 x 1 + 40 x 2 ≤ 140 x 1 ≤ 4 x 1 , x 2 ≥ 0 , 且为整数 (体积限制) (重量限制) (合同限制)
4. 运输问题:表上作业法求解初始解#
问题描述 :已知产地 A 1 , A 2 , A 3 A_1, A_2, A_3 A 1 , A 2 , A 3 的产量以及销地 B 1 , B 2 , B 3 , B 4 B_1, B_2, B_3, B_4 B 1 , B 2 , B 3 , B 4 的销量与单位运价表如下:
产地 \ 销地 B 1 B_1 B 1 B 2 B_2 B 2 B 3 B_3 B 3 B 4 B_4 B 4 产量 A 1 A_1 A 1 3 11 3 10 7 A 2 A_2 A 2 1 9 2 8 4 A 3 A_3 A 3 7 4 10 5 9 销量 3 6 5 6
表上作业法初始基可行解确定(最小元素法) :
选择运价最小的格子 x 21 x_{21} x 21 (运价为 1),分配运量 x 21 = min ( 4 , 3 ) = 3 x_{21} = \min(4, 3) = 3 x 21 = min ( 4 , 3 ) = 3 。此时 B 1 B_1 B 1 需求满足,A 2 A_2 A 2 剩余产量为 1。
在未满格中选择最小运价格子 x 23 x_{23} x 23 (运价为 2),分配运量 x 23 = min ( 1 , 5 ) = 1 x_{23} = \min(1, 5) = 1 x 23 = min ( 1 , 5 ) = 1 。此时 A 2 A_2 A 2 产量耗尽,B 3 B_3 B 3 仍需 4。
继续选择运价最小的格子 x 13 x_{13} x 13 (运价为 3),分配运量 x 13 = min ( 7 , 4 ) = 4 x_{13} = \min(7, 4) = 4 x 13 = min ( 7 , 4 ) = 4 。此时 B 3 B_3 B 3 需求满足,A 1 A_1 A 1 剩余产量为 3。
选择运价最小的格子 x 32 x_{32} x 32 (运价为 4),分配运量 x 32 = min ( 9 , 6 ) = 6 x_{32} = \min(9, 6) = 6 x 32 = min ( 9 , 6 ) = 6 。此时 B 2 B_2 B 2 需求满足,A 3 A_3 A 3 剩余产量为 3。
选择运价最小的格子 x 34 x_{34} x 34 (运价为 5),分配运量 x 34 = min ( 3 , 6 ) = 3 x_{34} = \min(3, 6) = 3 x 34 = min ( 3 , 6 ) = 3 。此时 A 3 A_3 A 3 产量耗尽,B 4 B_4 B 4 仍需 3。
最后只能分配到 x 14 x_{14} x 14 ,运量 x 14 = min ( 3 , 3 ) = 3 x_{14} = \min(3, 3) = 3 x 14 = min ( 3 , 3 ) = 3 。
注:Slide 9 中的简要计算步骤如下:
x 12 = min ( 4 , 6 ) = 4 x_{12} = \min(4, 6) = 4 x 12 = min ( 4 , 6 ) = 4 (按表中某种分配策略)
x 11 = min ( 7 , 3 ) = 3 x_{11} = \min(7, 3) = 3 x 11 = min ( 7 , 3 ) = 3
x 22 = min ( 4 , 2 ) = 2 x_{22} = \min(4, 2) = 2 x 22 = min ( 4 , 2 ) = 2
x 23 = min ( 2 , 5 ) = 2 x_{23} = \min(2, 5) = 2 x 23 = min ( 2 , 5 ) = 2
x 33 = min ( 3 , 9 ) = 3 x_{33} = \min(3, 9) = 3 x 33 = min ( 3 , 9 ) = 3
x 34 = min ( 6 , 6 ) = 6 x_{34} = \min(6, 6) = 6 x 34 = min ( 6 , 6 ) = 6
具体的初始解取决于采用的是最小元素法还是西北角法,实际计算中应严格执行相应规则。
5. 动态规划:背包问题(Knapsack Problem)#
问题描述 :设有 n n n 种物品,每种物品数量无限。第 i i i 种物品每件重量为 w i w_i w i 公斤,每件价值 v i v_i v i 元。现有一只可装载重量为 W W W 公斤的背包,求各种物品应各取多少件放入背包,使背包中物品的总价值最高。
状态转移递推方程 :
设 f ( y ) f(y) f ( y ) 表示背包容量为 y y y 时的最大价值,则有:
f ( y ) = max 1 ≤ i ≤ n , w i ≤ y { f ( y − w i ) + v i } f(y) = \max_{1 \le i \le n, w_i \le y} \{ f(y - w_i) + v_i \} f ( y ) = max 1 ≤ i ≤ n , w i ≤ y { f ( y − w i ) + v i }
初始条件:f ( 0 ) = 0 f(0) = 0 f ( 0 ) = 0 。
复习思考题#
构建集装箱托运决策的整数规划模型 ,并分析若取消“甲种货物至多托运 4 件”的限制,可行解空间会发生怎样的变化?
**详细说明如何使用表上作业法(以最小元素法为例)**为运输问题构建初始基可行解,并写出完整的分配步骤。
简述背包问题的多阶段决策(动态规划)特征 ,写出其递推关系式,并解释状态变量与决策变量的物理意义。